Gestion de fichiers texte (CSV, JSON, XML…)
Introduction
Manipuler des fichiers texte fait partie du quotidien quand plusieurs systèmes informatiques d’éditeurs différents doivent cohabiter dans une même organisation.
Les formats de fichiers texte les plus couramment utilisés sont CSV, JSON et XML. Très souvent, ces types de flux sont traités par des logiciels ETL ou par des mécanismes d’EAI (Enterprise Application Integration).
UiPath est tout à fait capable de déclencher des traitements ETL, mais également de les gérer lui-même dans la mesure où il intègre de très nombreux composants dédiés à cela.
Nous allons étudier au travers de plusieurs applications, les possibilités de traitement d’UiPath sur ces flux.
Certains échanges basés sur des flux CSV, JSON et XML ont déjà été étudiés dans le cadre des chapitres Interactions avec Microsoft Access, Interactions avec MySQL (accès local) et Interactions avec MySQL (accès distant). L’objectif est ici de voir des traitements non étudiés jusqu’à présent.
Application Tri d’un fichier CSV
1. Présentation de l’application
Cette première application lit un flux de données depuis un fichier CSV et reporte son contenu dans un second fichier, également en format CSV, après l’avoir trié.
Le fichier en entrée, nommé entree.csv, contient un jeu de données déjà rencontré :
Ce fichier ne comporte aucun espace.
Le processus UiPAth reporte ce flux dans le second fichier en le triant sur le critère de l’âge par ordre croissant.
2. Application UiPath
L’ordinogramme du processus UiPath, avec certains blocs pour l’instant pliés, se présente comme suit :
Déplions le bloc Lecture du fichier CSV ’entree.csv’ :
Consultons les propriétés de cette activité de type UiPath.CSV.Activities.ReadCsvFile :
La propriété FilePath désigne bien sûr le fichier en entrée, ici avec un chemin relatif.
La propriété Delimiter est renseignée avec la constante Semicolon, c’est-à-dire le point-virgule. D’autres choix sont possibles : Tab, Comma, Caret et Pipe.
La propriété Has headers est cochée pour signaler la présence d’une ligne d’en-têtes dans le fichier.
La propriété DataTable référence une structure matricielle...
Application Filtrage d’un fichier CSV
1. Présentation de l’application
Il s’agit ici de lire un fichier CSV (le fichier entree.csv de la précédente section) et de retranscrire partiellement son contenu dans un second fichier CSV (sortie.csv) en sélectionnant uniquement les personnes de sexe féminin. Dans le fichier en sortie, seuls les champs nom, prenom et sexe sont répercutés.
2. Application UiPath
Le traitement présente de grandes similitudes avec celui du tri d’un fichier CSV. Regardons l’ordinogramme :
Pour ce traitement, nous nous concentrons uniquement sur l’activité de filtrage, car le reste du processus est presque identique à celui vu pour le tri.
Un clic sur le bouton Assistant de filtre… de l’activité Filtrage des personnes de sexe féminin et sélection de champs ouvre un assistant permettant de paramétrer la formule de sélection des enregistrements (lignes) et des champs (colonnes) :
Vous noterez les valeurs de DataTable d’entrée et de DataTable de sortie en haut de la fenêtre.
La sélection se fait sur le champ 3 (le sexe) avec un test d’égalité à la constante "F". Il est bien sûr possible de réaliser une sélection multicritère en cliquant sur le bouton + à droite de l’interface.
Passons...
Application Conversion CSV vers JSON
1. Présentation de l’application
Nous avons étudié, au chapitre Interactions avec une base de données MySQL distante, le format de fichier JSON. Ce format est très utilisé dans les échanges de données entre des applications distantes. JSON est aussi très employé dans les applications pour périphériques mobiles (smartphones, tablettes…) afin que ceux-ci puissent accéder à des données distantes.
Ce processus UiPath convertit un fichier de données au format CSV (entree.csv) en un fichier au format JSON (sortie.json).
2. Application UiPath
La structure du processus est assez proche de celles vues dans les deux premières sections :
Une fois n’est pas coutume, démarrons par la liste des variables du traitement :
Nous retrouvons la variable dataTableEntreeCSV accompagnée d’une variable fluxJSON de type String.
Passons tout de suite aux propriétés de l’activité Génération du flux JSON de type DataTableActivities.DataTableToJSON :
La propriété DataTable dans le groupe Input est tout simplement la variable dataTableEntreeCSV et la variable fluxJSON donne la valeur de la propriété JSONString dans le groupe Output.
Vous aurez peut-être noté que le nom des propriétés des activités...
Application Conversion CSV vers XML
1. Présentation de l’application
Cette nouvelle application a de grandes similitudes avec la précédente, la différence tient au format du fichier en sortie : XML.
Nous avons déjà vu comment lire un fichier au format XML dans le chapitre Interactions avec une base de données Microsoft SQL Server locale, à la section Application Microsoft SQL Server - Import XML.
Ici, l’objectif est de convertir un flux CSV en un flux XML.
Le fichier en entrée est entree.csv et la retranscription en sortie se fait dans le fichier sortie.xml.
2. Application UiPath
L’ordinogramme est aussi assez semblable à celui de l’application Conversion CSV vers JSON :
Dans ce processus, intéressons-nous à l’activité Ecriture dans un fichier XML ’sortie.xml’ de type DataTableActivities.DataTableToXML qui a pour propriétés :
Rien de surprenant dans celles-ci. La source de données Input/DataTable est la variable dataTableEntreeCSV et FileName indique le nom relatif du fichier de sortie.
Dans cette conversion, le flux ne passe pas par une variable intermédiaire de type String, comme dans le cas du format JSON. L’activité DataTableToXML reporte ici directement le contenu dans le fichier de sortie.
3. Compte rendu d’exécution
Après l’exécution...