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 ' | ||
| + | |||
| + | </ | ||
| + | |||
| + | |||