Nettoyer et filtrer un fichier CSV
Le Job suivant recherche et remplace différentes coquilles et fautes dans un fichier .CSV, puis filtre une colonne avant de générer en sortie un nouveau fichier .CSV contenant les données modifiées.
Pour plus de technologies supportées par Talend, consultez Composants Talend.
-
Cliquez et déposez les composants suivants de la Palette dans l'espace de modélisation graphique : tFileInputDelimited, tReplace, tFilterColumn et tFileOutputDelimited.
-
Connectez les composants à l'aide de liens de type Main Row via un clic-droit sur chaque composant.
-
Sélectionnez le composant tFileInputDelimited et paramétrez les propriétés du flux d'entrée.
-
Le fichier File est un simple fichier .csv stocké localement. Dans le champ Row Separator, saisissez un retour chariot et, dans le champ Field Separator, saisissez un point-virgule. Dans le champ Header, saisissez le nom de la colonne. Ne saisissez rien dans les champs Footer et Limit, car il n’y a ni pied de page ni nombre limite de lignes à traiter.
-
Le fichier contient des caractères tels que : *t,. ou encore Nikson que l'on veut changer en Nixon, et streat, que l'on veut changer en Street.
-
Le schéma est composé de quatre colonnes de différents types : chaînes de caractères (string) ou de nombres entiers (int).
-
Sélectionnez le composant tReplace pour paramétrer les propriétés des Rechercher/Remplacer.
-
Le schéma peut être synchronisé à partir du flux d'entrée.
-
Cochez la case Simple mode car les paramètres de recherche peuvent être facilement définis sans avoir recours aux expressions régulières.
-
Cliquez sur le signe [+] pour ajouter des lignes aux tableaux des paramètres.
-
En premier paramètre, sélectionnez amount dans la colonne Input column. Saisissez "." dans la colonne Search et "," dans la colonne Replace.
-
En deuxième paramètre, sélectionnez Street dans la colonne Input column. Saisissez "streat" dans la colonne Search et "Street" dans la colonne Replace.
-
En troisième paramètre, sélectionnez à nouveau Amount dans la colonne Input column. Saisissez "$" dans la colonne Search et "£" dans la colonne Replace.
-
En quatrième paramètre, sélectionnez Name dans la colonne Input column. Saisissez "Nikson" dans la colonne Search et "Nixon" dans la colonne Replace.
-
En cinquième paramètre, sélectionnez Firstname dans la colonne Inputcolumn. Saisissez "*t" dans la colonne Search et remplacez-le sans rien mettre entre guillemets doubles.
-
L'option Advanced mode n'est pas utilisée pour ce scénario.
-
Sélectionnez le composant suivant : tFilterColumn.
-
Le composant tFilterColumn contient un éditeur de schéma permettant de créer un schéma de sortie basé sur le nom des colonnes du schéma d'entrée. Dans cet exemple, ajoutez une nouvelle colonne empty_field et changez l'ordre des colonnes pour obtenir le schéma suivant : empty_field, Firstname, Name, Street, Amount.
-
Cliquez sur OK pour valider.
-
Paramétrez tFileOutputDelimited manuellement.
-
Dans ce scénario, le schéma est built-in et vient du composant précédent dans le Job.
-
Enregistrez votre Job puis appuyez sur F6 pour l'exécuter.
La première colonne est vide, les caractères parasites ont été supprimés des autres colonnes, et Nikson a été remplacé par Nixon. La colonne Street a été déplacée, les décimales sont dorénavant séparées par une virgule et le symbole monétaire a été changé.