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

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 :
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 :
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 :
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 :
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 :
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 :
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é.
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedInArticle connexe - PowerShell Array
- Comment ajouter des objets à un tableau d'objets dans PowerShell
- Comment créer un tableau vide de tableaux en PowerShell
- Comment passer un tableau à une fonction dans PowerShell
- Comment supprimer les valeurs dupliquées d'un tableau PowerShell
- Tableau d'octets dans PowerShell