Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
dev:powershell:charger_donnees_depuis_fichier [2023/06/27 16:29] – créée yoann | dev:powershell:charger_donnees_depuis_fichier [2023/06/29 15:26] (Version actuelle) – yoann | ||
---|---|---|---|
Ligne 4: | Ligne 4: | ||
====== PowerShell : Charger ou importer des données ====== | ====== PowerShell : Charger ou importer des données ====== | ||
- | Les données exportées dans des fichiers textes au format | + | Les données exportées dans des fichiers textes au format |
Ligne 18: | Ligne 18: | ||
</ | </ | ||
+ | Pour charger le contenu du fichier " | ||
<code powershell> | <code powershell> | ||
- | Write-Output " | + | $lines = Get-Content |
+ | |||
+ | # Afficher le nombre de lignes | ||
+ | $lines.Length | ||
+ | 4 | ||
+ | |||
+ | # Accès au contenu de la première ligne | ||
+ | $lines[0] | ||
+ | A01 | ||
+ | |||
+ | # Afficher toutes les lignes | ||
+ | foreach ( $line in $lines ){ | ||
+ | Write-Output " | ||
+ | } | ||
</ | </ | ||
+ | |||
+ | ===== Formatage CSV ===== | ||
+ | |||
+ | De nombreuses applications proposent un formatage des données en CSV. La cmdlet **Import-CSV** permet de relire et d' | ||
+ | |||
+ | Ci-dessous un exemple de fichier texte formaté en CSV | ||
+ | |||
+ | <file csv aUsersFile.csv> | ||
+ | FirstName, | ||
+ | John, | ||
+ | Judith, | ||
+ | Elon, | ||
+ | </ | ||
+ | |||
+ | <code powershell> | ||
+ | # Importe les données du fichier aUsersFile.csv | ||
+ | $users = Import-Csv ' | ||
+ | |||
+ | # La variable $users référence un tableau | ||
+ | # chaque élément du tableau correspond à un enregistrement CSV | ||
+ | $users.Length | ||
+ | 3 | ||
+ | |||
+ | # Chaque élément du tableau est un objet ayant pour noms d' | ||
+ | # les noms des colonnes du fichier (première ligne du fichier CSV) | ||
+ | $users[0].FirstName | ||
+ | John | ||
+ | </ | ||
+ | |||
+ | Quelques options usuelles pour la cmdlet **Import-Csv** : | ||
+ | * **-Delimiter** permet de spécifier un caractère de délimitation des champs autre que < | ||
+ | * **-Header** pour spécifier les noms des attributs (colonnes) si la première ligne du fichier n'est pas le nom | ||
+ | |||
+ | ===== Formatage XML ===== | ||
+ | |||
+ | Le XML permet de décrire et stocker des données structurées de façon plus complexes que le CSV. | ||
+ | |||
+ | La cmdlet **Import-Clixml** permet de récupérer des données à partir d'un fichier XML et produit un tableau d' | ||
+ | |||
+ | <code powershell> | ||
+ | $users = Import-Clixml ' | ||
+ | </ | ||
+ | |||
+ | |||
+ | ===== Formatage JSON ===== | ||
+ | |||
+ | Comme XML, le formatage JSON permet de représenter des données complexes cependant sa syntaxe est moins verbeuse. Il est largement utilisé. | ||
+ | |||
+ | La cmdlet **ConvertFrom-Json** peut être combinée avec **Get-Content** pour lire un fichier contenant des objets JSON et obtenir en objets en mémoire : | ||
+ | |||
+ | |||
+ | <code powershell> | ||
+ | $users = Get-Content ' | ||
+ | |||
+ | </ | ||
+ | |||
+ |