Gestion de fichiers « texte » (CSV, JSON, XML…)
Introduction
Manipuler des fichiers texte est courant lorsque plusieurs systèmes informatiques, conçus par différents éditeurs, doivent échanger des données au sein d’une même organisation.
Les formats de fichiers texte les plus couramment utilisés sont le CSV, le JSON et l’XML. Très souvent, ces types de flux sont traités par des logiciels de type ETL (Extract, Transform, Load) ou par des mécanismes d’EAI.
UiPath est tout à fait capable de déclencher ces 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 consécutives, les possibilités de traitement d’UiPath sur ces flux.
Quelques échanges basés sur des flux CSV, JSON et XML ont déjà été étudiés de manière incidente dans le cadre des chapitres Interactions avec une BDD MySQL locale, Interactions avec une BDD MySQL distante et Interactions avec une BDD Microsoft SQL Server. 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
Dans notre première application, nous allons lire un flux de données depuis un fichier CSV et ensuite en reporter le contenu dans un second fichier, également en format CSV, après l’avoir trié.
Le fichier en entrée est nommé entree.csv, il contient un jeu de données déjà rencontré dans le livre :

Vous noterez que ce fichier ne comporte aucun espace.
Le processus UiPath reportera ce flux dans le second fichier en le triant sur le critère de l’âge en ordre croissant.
2. Application UiPath
Le workflow du processus UiPath se présente comme suit :

Intéressons-nous à la première activité nommée Lecture du fichier CSV ’entree.csv’ :

Nous voyons que le fichier CSV en entrée (entree.csv) est présent dans le répertoire du processus lui-même, ce qui n’est pas forcément le meilleur choix du point de vue organisationnel. UiPath propose des activités de sélection de répertoire et de fichier permettant de localiser le fichier en entrée dans un tout autre répertoire.
Le fichier en entrée dispose d’une première ligne contenant le nom des champs.
Consultons aussi les propriétés de cette activité...
Application « Filtrage d’un fichier CSV »
1. Présentation de l’application
Il s’agit ici de lire un fichier CSV (nous reprendrons le fichier entree.csv de la précédente section) et d’en retranscrire partiellement le contenu dans un second fichier CSV (que nous appellerons aussi sortie.csv) en sélectionnant uniquement les personnes de sexe féminin. Nous répercuterons dans le fichier en sortie uniquement les champs nom, prenom et sexe.
2. Application UiPath
Le traitement va présenter de grandes similitudes avec celui de la section Application « Tri d’un fichier CSV ». Examinons-en le workflow :

Pour ce traitement, concentrons-nous uniquement sur l’activité de filtrage, car le reste du processus est presque identique à celui vu pour le tri.
En cliquant sur le bouton Assistant de filtre de l’activité intitulée Filtrage des personnes de sexe féminin et sélection de champs, nous accédons à un assistant permettant de paramétrer la formule de sélection des enregistrements (lignes) et des champs (colonnes) :

Vous noterez les valeurs des DataTable d’entrée et de sortie en haut de la fenêtre.
Nous voyons que la sélection se fait sur le champ n° 3 (le sexe) avec un test en égalité avec la constante F.
L’éditeur...
Application « Conversion CSV vers JSON »
1. Présentation de l’application
Le format de fichier JSON est très utilisé dans les échanges de données entre les applications informatiques. Par exemple, de très nombreux systèmes de gestion de bases de données sont en mesure de lire des données au format JSON et également de produire en sortie ce type de flux de données.
JSON est par ailleurs très employé dans les applications pour périphériques mobiles (smartphones, tablettes…) afin que ceux-ci puissent aussi accéder à des données distantes.
Dans le processus UiPath présenté ci-après, nous allons apprendre à convertir un fichier de données au format CSV en un second au format JSON.
Le fichier en entrée sera notre fichier habituel entree.csv et la retranscription en sortie se fera dans un fichier nommé sortie.json.
2. Application UiPath
La structure du processus est encore assez proche de celles vues dans nos deux premières sections du présent chapitre.

Démarrons par la liste des variables du traitement :

Nous retrouvons la variable dataTableEntreeCSV ainsi qu’une variable fluxJSON de type String dont nous allons vite voir le rôle.
Passons à l’étude de l’activité nommée Transformation...
Application « Conversion CSV vers XML »
1. Présentation de l’application
Cette nouvelle application va avoir de grandes similitudes avec celle exposée dans la section Application « Conversion CSV vers JSON », la différence tient au fichier en sortie qui sera au format XML.
Dans notre application, l’objectif va donc être de convertir un flux CSV en un flux XML.
Le fichier en entrée sera toujours notre fichier entree.csv et la retranscription en sortie se fera dans un fichier nommé sortie.xml.
2. Application UiPath
Le workflow sera aussi assez semblable à celui de la section Application « Conversion CSV vers JSON » :

Dans ce processus, intéressons-nous à l’activité intitulée Conversion en flux XML de type Auxilliobits.DataTableToXml.Activities.DataTabletoXml qui a pour propriétés :

Deux propriétés sont principalement renseignées :
-
Datatable avec la valeur dataTableEntreeCSV, la DataTable construite lors de la lecture du fichier CSV en début de traitement,
-
FilePath avec la valeur sortie.xml, le nom du fichier XML en sortie de traitement.
Le nom technique de l’activité de conversion XML reflète son origine : elle est fournie par le package d’un éditeur tiers, Auxilliobits, et non par UiPath.

Lors de la conversion XML, le flux...
Pour aller plus loin
Pour le processus ENI_UiPath_Tri_fichier_CSV, vous pourriez imaginer un tri sur un autre critère, voire même prévoir un tri à deux niveaux (plus difficile à réaliser).
En ce qui concerne le processus ENI_UiPath_Filtrage_fichier_CSV, le filtrage pourrait aussi être multicritères.
Rien ne vous empêche non plus de construire vous-même un jeu d’essai (fichier CSV) différent pour vous assurer de la bonne compréhension des processus et vous pourriez aussi réaliser des conversions CSV vers JSON et CSV vers XML.