PowerShell : Comment récupérer les en-têtes d’un fichier CSV ?

I. Présentation

Pour diverses raisons, au sein d'un script PowerShell il peut être intéressant de récupérer la liste des en-têtes d'un fichier CSV. Par exemple, pour comparer deux fichiers CSV avec le commandlet Compare-Object, on doit spécifier les propriétés qui sont alors les noms des en-têtes du CSV. Si l'on récupère en automatique ces valeurs, ça permet de variabiliser cette partie 🙂

II. Stocker les valeurs d'en-têtes d'un CSV

Pour commencer, au sein de la variable $CSVExample on va stocker le chemin vers le fichier CSV.

$CSVExample = "C:\temp\csv-example.csv"

Ce CSV contient les en-têtes suivantes : Nom, Prenom, Age, Ville

Ensuite, on va utiliser le commandlet Get-Content qui permet de récupérer le contenu d'un fichier, sous forme de tableau. On va s'intéresser à la première ligne du fichier puisque ce sont les en-têtes, ce qui correspond à la ligne zéro (0) du tableau. Pour afficher cette ligne, voici ce que l'on va saisir :

(Get-Content $CSVExample)[0]

Ce qui va retourner, par exemple :

Nom;Prenom;Age;Ville

Maintenant que l'on sait comment obtenir les valeurs de l'en-tête, on peut aussi récupérer de manière indépendante chaque valeur. Ceci s'effectue via un split sur le caractère séparateur puisqu'il sépare chaque valeur.

((Get-Content $CSVExample)[0]).Split(";")

La commande ci-dessus va retourner la liste des valeurs d'en-tête du CSV. Si l'on veut aller encore plus finement dans la récupération des valeurs, on peut aller piocher dans le tableau généré suite au split et récupérer une valeur du tableau. Par exemple, pour obtenir le nom de la première colonne du CSV :

(((Get-Content $CSVExample)[0]).Split(";"))[0]

Le fait de spliter la ligne permet aussi de compter le nombre de colonne (valeurs d'en-tête) contenue dans le fichier CSV :

(((Get-Content $CSVExample)[0]).Split(";")).Count

Ce qui retournera 4.

Pour finir ce tutoriel, voici une copie d'écran qui illustre quelques-unes des commandes écrites ci-dessus :

Amusez-vous bien 🙂

Partagez cet article Partager sur Twitter Partager sur Facebook Partager sur Linkedin Partager sur Google+ Envoyer par mail

Florian Burnel

Co-Fondateur d'IT-Connect, je souhaite partager mes connaissances et expériences avec vous, et comme la veille techno' est importante je partage aussi des actus.

florian a publié 1604 articles sur IT-Connect.See all posts by florian

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *