Comment importer des fichiers CSV dans un tableau dans PowerShell

  1. Le fichier de valeurs séparées par des virgules
  2. Utiliser la cmdlet Import-CSV pour importer des fichiers CSV dans un tableau dans PowerShell
  3. Utiliser les cmdlets Get-Content et ConvertFrom-Csv pour importer des fichiers CSV dans un tableau dans PowerShell
  4. Utiliser les cmdlets System.IO.File et ConvertFrom-Csv pour importer des fichiers CSV dans un tableau dans PowerShell
  5. Conclusion
Comment importer des fichiers CSV dans un tableau dans PowerShell

Les fichiers CSV (Comma-Separated Values) servent de format de données fondamental, encapsulant des informations dans une structure tabulaire avec des champs séparés par des virgules. Bien qu’ils soient couramment associés aux logiciels tableurs, leur nature simple mais polyvalente trouve des applications sur diverses plates-formes, y compris PowerShell.

Dans le script PowerShell, lire et traiter efficacement les données CSV est crucial pour l’automatisation et les tâches de manipulation de données. Cet article explore trois méthodes — Import-CSV, Get-Content et la classe System.IO.File avec la cmdlet ConvertFrom-Csv — pour importer des fichiers CSV dans des tableaux, offrant des perspectives sur leur utilisation, leurs avantages et leurs scénarios d’application.

Le fichier de valeurs séparées par des virgules

Un fichier CSV (Comma-Separated Values) contient des données ou un ensemble séparés par des virgules. Cela permet de sauvegarder les données dans un format tabulaire.

Les utilisateurs peuvent utiliser des fichiers CSV avec la plupart des programmes tableurs, tels que Microsoft Excel ou Google Sheets. Cependant, lorsqu’on l’ouvre dans un logiciel qui ne gère pas les formats tabulaires, les données seront séparées par des virgules, que PowerShell peut utiliser pour séparer les valeurs en tableaux.

Par exemple, ci-dessous se trouve un format CSV brut avec deux colonnes.

Fichier users.csv :

Name,Salary
John,1000
Paul,2000
Mary,1500
Matt,3000

Utiliser la cmdlet Import-CSV pour importer des fichiers CSV dans un tableau dans PowerShell

La commande Import-CSV dans Windows PowerShell crée des objets personnalisés ressemblant à des tables à partir des éléments présentés dans le fichier CSV ci-dessus.

Dans le script Windows PowerShell ci-dessous, nous utiliserons la commande Import-CSV pour assigner les données du fichier CSV à une variable de type tableau de Windows PowerShell.

$users = Import-Csv path\users.csv
$users

Nous commençons par utiliser la cmdlet Import-Csv pour lire des données à partir d’un fichier CSV situé à path\users.csv. Cette cmdlet lit le contenu du fichier CSV et le convertit en un objet PowerShell.

Nous assignons ensuite les données CSV importées à la variable $users. Cette variable contient maintenant le contenu du fichier CSV sous la forme d’un tableau d’objets, chaque objet représentant une ligne du fichier CSV.

Une fois exécuté, nous pouvons voir que les valeurs du fichier CSV se sont transformées en une liste de format appelée un objet ArrayList.

Sortie :

lire des fichiers csv dans un tableau en powershell - sortie 1

Accéder aux éléments après avoir importé des fichiers CSV dans un tableau dans PowerShell

Lorsque nous importons un fichier CSV en utilisant Import-Csv dans PowerShell, chaque ligne du fichier CSV est représentée comme un objet, et toutes les données CSV sont stockées sous forme de tableau de ces objets. Pour accéder aux lignes individuelles ou aux éléments au sein des données CSV, nous utilisons l’indexation de tableau.

$users = Import-Csv path\users.csv
$users[0]

Nous commençons par importer un fichier CSV nommé users.csv situé au chemin spécifié. Nous utilisons la cmdlet Import-Csv à cette fin.

Cette cmdlet lit le contenu du fichier CSV et le convertit en un objet PowerShell.

Après avoir importé le fichier CSV, nous voulons accéder à la première ligne des données CSV. Nous y parvenons en utilisant l’indexation de tableau.

Dans PowerShell, l’indexation de tableau commence à 0, donc $users[0] se réfère au premier élément (ou ligne) dans le tableau $users.

Sortie :

lire des fichiers csv dans un tableau en powershell - sortie 2

Nous pouvons interroger une propriété à partir d’un élément particulier du tableau Windows PowerShell en traitant le nom de la colonne comme un nom de propriété comme dans l’exemple ci-dessous.

$users = Import-Csv path/users.csv
$users[0].Name

Après avoir importé le fichier CSV et stocké son contenu dans la variable $users, nous procédons à l’accès d’une propriété spécifique de la première ligne des données CSV. Dans ce cas, nous voulons récupérer la valeur de la propriété Name de la première ligne.

En spécifiant $users[0].Name, nous accédons à la propriété Name de l’objet représentant la première ligne des données CSV. Cela nous permet de récupérer la valeur associée à la colonne Name dans le fichier CSV pour la première ligne.

Sortie :

lire des fichiers csv dans un tableau en powershell - sortie 3

Nous pouvons compter le nombre d’éléments dans un tableau en utilisant la propriété Count ci-dessous.

$users = Import-Csv path/users.csv
$users.Count

Après avoir importé le fichier CSV et stocké son contenu dans la variable $users, nous voulons déterminer le nombre d’éléments (lignes) dans le tableau.

En utilisant $users.Count, nous accédons à la propriété Count du tableau stocké dans la variable $users. Cette propriété retourne le nombre d’éléments (lignes) dans le tableau.

Sortie :

lire des fichiers csv dans un tableau en powershell - sortie 4

Utiliser les cmdlets Get-Content et ConvertFrom-Csv pour importer des fichiers CSV dans un tableau dans PowerShell

Une approche simple pour accomplir cette tâche consiste à utiliser les cmdlets Get-Content et ConvertFrom-Csv. Cette méthode nous permet de lire le contenu d’un fichier CSV en tant que texte à l’aide de Get-Content, puis de le convertir en objets PowerShell à l’aide de ConvertFrom-Csv, créant ainsi un tableau d’objets représentant chaque ligne des données CSV.

$content = Get-Content -Path "C:\path\data.csv"
$array = $content | ConvertFrom-Csv
$array

Nous commençons par utiliser Get-Content pour lire le contenu du fichier CSV situé au chemin spécifié et le stockons dans la variable $content.

Ensuite, nous passons le contenu du fichier CSV stocké dans $content à ConvertFrom-Csv. Cette cmdlet convertit le texte CSV en objets PowerShell et les stocke dans la variable $array.

Une fois exécuté, nous pouvons voir les valeurs du fichier CSV se transformer en une liste de format appelée un objet ArrayList.

Sortie :

lire des fichiers csv dans un tableau en powershell - sortie 5

Utiliser les cmdlets System.IO.File et ConvertFrom-Csv pour importer des fichiers CSV dans un tableau dans PowerShell

La classe System.IO.File permet de lire les contenus des fichiers CSV, qui sont ensuite transformés en objets PowerShell à l’aide de la cmdlet ConvertFrom-Csv. Cette méthode offre non seulement de la flexibilité mais garantit également une facilité d’utilisation, permettant aux utilisateurs de gérer sans effort les données CSV dans leurs scripts PowerShell.

$content = [System.IO.File]::ReadAllText("C:\path\data.csv")
$array = $content | ConvertFrom-Csv
$array

Nous utilisons [System.IO.File]::ReadAllText pour lire le contenu du fichier CSV situé au chemin spécifié et le stockons dans la variable $content.

Ensuite, nous passons le contenu du fichier CSV stocké dans $content à ConvertFrom-Csv. Cette cmdlet convertit le texte CSV en objets PowerShell et les stocke dans la variable $array.

Une fois exécuté, nous pouvons voir les valeurs du fichier CSV se transformer en une liste de format appelée un objet ArrayList.

Sortie :

lire des fichiers csv dans un tableau en powershell - sortie 6

Conclusion

Dans les scripts PowerShell, manipuler les données CSV sans effort est impératif pour une automatisation et un traitement des données efficaces. En s’appuyant sur les cmdlets Import-CSV, Get-Content ou la classe System.IO.File avec la cmdlet ConvertFrom-Csv, les utilisateurs peuvent lire efficacement les fichiers CSV dans des tableaux, leur permettant ainsi de manipuler les données avec aisance et flexibilité.

Que ce soit pour extraire des informations de grands ensembles de données ou automatiser des tâches répétitives, ces méthodes fournissent des outils puissants pour les développeurs PowerShell. Avec une compréhension claire de ces techniques, les utilisateurs peuvent exploiter la puissance des données CSV dans leurs scripts, rationalisant ainsi les flux de travail et améliorant la productivité.

Vous aimez nos tutoriels ? Abonnez-vous à DelftStack sur YouTube pour nous aider à créer davantage de tutoriels vidéo de haute qualité. Abonnez-vous
Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

Article connexe - PowerShell Array

Article connexe - PowerShell CSV