Convertit les propriétés d'objet au format CSV (valeurs séparées par des virgules) en versions CSV des objets d'origine.

Syntaxe

ConvertFrom-CSV [[-Delimiter] <char>] [-InputObject] <PSObject[]> [-Header <string[]>] [<CommonParameters>]

ConvertFrom-CSV -UseCulture [-InputObject] <PSObject[]> [-Header <string[]>] [<CommonParameters>]

Description

L'applet de commande ConvertFrom-CSV crée des objets à partir de chaînes de longueur variable au format CSV générées par l'applet de commande ConvertTo-CSV.

Vous pouvez utiliser les paramètres de l'applet de commande ConvertFrom-CSV pour spécifier la ligne d'en-tête de colonne qui détermine les noms des propriétés des objets obtenus, pour spécifier le délimiteur d'éléments ou pour demander à ConvertFrom-CSV d'utiliser le séparateur de liste de la culture actuelle en tant que délimiteur.

Les objets créés par ConvertFrom-CSV sont des versions CSV des objets d'origine. Les valeurs de propriété des objets CSV sont des versions de chaîne des valeurs de propriété des objets d'origine. Les versions CSV des objets n'ont pas de méthodes.

Vous pouvez également utiliser les applets de commande Export-CSV et Import-CSV pour convertir des objets en chaînes CSV dans un fichier (et inversement). Ces applets de commande sont identiques aux applets de commande ConvertTo-CSV et ConvertFrom-CSV, sauf qu'elles enregistrent les chaînes CSV dans un fichier.

Paramètres

-Delimiter <char>

Spécifie le délimiteur qui sépare les valeurs de propriété dans les chaînes CSV. La valeur par défaut est une virgule (,). Entrez un caractère, tel qu'un signe deux-points (:). Pour spécifier un point-virgule (;), placez-le entre guillemets.

Si vous spécifiez un caractère autre que le délimiteur utilisé dans les chaînes CSV, ConvertFrom-CSV ne peut pas créer d'objets à partir des chaînes CSV. Les chaînes sont retournées à la place.

Obligatoire ?

false

Position ?

2

Valeur par défaut

','

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-Header <string[]>

Spécifie une autre ligne d'en-tête de colonne pour la chaîne importée. L'en-tête de colonne détermine le nom des propriétés de l'objet créé par ConvertFrom-CSV.

Entrez une liste d'en-têtes de colonnes séparés par des virgules. Placez chaque élément entre guillemets (simples ou doubles). Ne placez pas la chaîne d'en-tête entre guillemets. Si vous entrez moins d'en-têtes de colonnes qu'il n'existe de colonnes, les colonnes restantes n'auront pas d'en-tête. Si vous entrez plus d'en-têtes qu'il n'existe de colonnes, les en-têtes supplémentaires sont ignorés.

Lorsque vous utilisez le paramètre Header, omettez la chaîne d'en-tête de colonne des chaînes CSV. Sinon, ConvertFrom-CSV crée un objet supplémentaire à partir des éléments de la ligne d'en-tête.

Obligatoire ?

false

Position ?

named

Valeur par défaut

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

-InputObject <PSObject[]>

Spécifie les chaînes CSV à convertir en objets. Entrez une variable contenant les chaînes CSV, ou tapez une commande ou une expression permettant d'obtenir ces chaînes. Vous pouvez également diriger les chaînes CSV vers ConvertFrom-CSV.

Obligatoire ?

true

Position ?

1

Valeur par défaut

Accepter l'entrée de pipeline ?

true (ByValue, ByPropertyName)

Accepter les caractères génériques ?

false

-UseCulture

Utilisez le séparateur de liste de la culture actuelle en tant que délimiteur de chaîne. La valeur par défaut est une virgule (,).

Pour rechercher le séparateur de liste d'une culture, utilisez la commande (Get-Culture).TextInfo.ListSeparator. Si vous spécifiez un caractère autre que le délimiteur utilisé dans les chaînes CSV, ConvertFrom-CSV ne peut pas créer d'objets à partir des chaînes CSV. Les chaînes sont retournées à la place.

Obligatoire ?

true

Position ?

named

Valeur par défaut

Comma

Accepter l'entrée de pipeline ?

false

Accepter les caractères génériques ?

false

<CommonParameters>

Cette applet de commande prend en charge les paramètres courants : -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer et -OutVariable. Pour plus d'informations, consultez about_Commonparameters.

Entrées et sorties

Le type d'entrée est le type des objets que vous pouvez diriger vers l'applet de commande. Le type de retour est le type des objets que l'applet de commande retourne.

Entrées

System.String

Vous pouvez diriger les chaînes CSV vers ConvertFrom-CSV.

Sorties

System.Management.Automation.PSObject

ConvertFrom-CSV retourne les objets décrits par les propriétés des chaînes CSV.

Remarques

Étant donné que les objets importés sont des versions CSV du type d'objet, ils ne sont pas reconnus et mis en forme par le type Windows PowerShell qui met en forme les entrées mettant en forme les versions non-CSV du type d'objet.

Au format CSV, chaque objet est représenté par une liste séparée par des virgules des valeurs de propriété de l'objet. Les valeurs de propriété sont converties en chaînes (par l'intermédiaire de la méthode ToString() de l'objet). Elles sont donc généralement représentées par le nom de la valeur de propriété. ConvertTo-CSV n'exporte pas les méthodes de l'objet.

Exemple 1

C:\PS>$p = get-process | convertto-csv

C:\PS> $p | convertfrom-csv

Description
-----------
Ces commandes convertissent les processus de l'ordinateur local au format CSV, puis les restaurent au format d'objet.

La première commande utilise l'applet de commande Get-Process pour obtenir les processus de l'ordinateur local. Un opérateur de pipeline (|) les envoie à l'applet de commande ConvertTo-CSV, qui les convertit au format CSV. Les chaînes CSV sont enregistrées dans la variable $p.

La deuxième commande utilise un opérateur de pipeline pour envoyer les chaînes CSV de la variable $p à l'applet de commande ConvertFrom-CSV. L'applet de commande convertit les chaînes CSV en des versions CSV des processus d'origine.






Exemple 2

C:\PS>$date = get-date | convertto-csv -delimiter ";"

C:\PS> convertfrom-csv -inputobject $date -delimiter ";"

Description
-----------
Ces commandes convertissent un objet de données au format CSV, puis au format d'objet CSV.

La première commande utilise l'applet de commande Get-Date pour obtenir la date et l'heure actuelles. Un objet de pipeline (|) envoie la date à l'applet de commande ConvertTo-CSV, qui convertit l'objet date en une série de chaînes CSV. La commande utilise le paramètre Delimiter pour spécifier un délimiteur point-virgule. Les chaînes sont enregistrées dans la variable $date.

La deuxième commande utilise l'applet de commande ConvertFrom-CSV pour reconvertir les chaînes CSV de la variable $date au format d'objet. Elle utilise le paramètre InputObject pour spécifier les chaînes CSV et le paramètre Delimiter pour spécifier le délimiteur point-virgule.






Exemple 3

C:\PS>$j = start-job -scriptblock { get-process } | convertto-csv

C:\PS> $header = "MoreData","StatusMessage","Location","Command","State","Finished","InstanceId","SessionId","Name","ChildJobs","Output","Error","Progress","Verbose","Debug","Warning","StateChanged"

# Delete header from $j
C:\PS> $j = $j[0], $j[2..($j.count - 1)]

$j | convertfrom-csv -header $header

MoreData      : True
StatusMessage : 
Location      : localhost
Command       : get-process
State         : Running
Finished      : System.Threading.ManualResetEvent
InstanceId    : 6fcb6578-7f42-4d93-9f23-9937f6aac1a2
SessionId     : 1
Name          : Job1
ChildJobs     : System.Collections.Generic.List`1[System.Management.Automation.Job]
Output        : System.Management.Automation.PSDataCollection`1[System.Management.Automation.PSObject]
Error         : System.Management.Automation.PSDataCollection`1[System.Management.Automation.ErrorRecord]
Progress      : System.Management.Automation.PSDataCollection`1[System.Management.Automation.ProgressRecord]
Verbose       : System.Management.Automation.PSDataCollection`1[System.String]
Debug         : System.Management.Automation.PSDataCollection`1[System.String]
Warning       : System.Management.Automation.PSDataCollection`1[System.String]
StateChanged  :

Description
-----------
Cet exemple montre comment utiliser le paramètre Header de l'applet de commande ConvertFrom-Csv pour modifier le nom des propriétés de l'objet importé obtenu.

La première commande utilise l'applet de commande Start-Job pour démarrer une tâche en arrière-plan qui exécute une commande Get-Process sur l'ordinateur local. Un opérateur de pipeline (|) envoie l'objet tâche obtenu à l'applet de commande ConvertTo-CSV, qui le convertit au format CSV. Un opérateur d'affectation (=) enregistre le CSV obtenu dans la variable $j.

La deuxième commande enregistre un en-tête dans la variable $header. Contrairement à l'en-tête par défaut, cet en-tête utilise « MoreData » au lieu de « HasMoreData » et « State » au lieu de « JobStateInfo ».

La troisième commande supprime l'en-tête d'origine (la deuxième ligne) des chaînes CSV et le renvoie à la variable $j.

La quatrième commande utilise l'applet de commande ConvertFrom-CSV pour convertir les chaînes CSV en une version CSV de l'objet tâche. Elle utilise un opérateur de pipeline pour envoyer le contenu de $j à ConvertFrom-CSV. L'objet obtenu possède des propriétés « MoreData » et « State », comme spécifié par l'en-tête.






Exemple 4

C:\PS>(get-culture).textinfo.listseparator

C:\PS> ConvertFrom-Csv -inputobject $services -UseCulture

Description
-----------
La commande utilise l'applet de commande ConvertFrom-CSV pour convertir les chaînes CSV des objets services convertis par l'applet de commande ConvertTo-CSV. Elle utilise le paramètre UseCulture pour demander à l'applet de commande ConvertFrom-CSV d'utiliser le délimiteur (séparateur de liste) de la culture actuelle.

Lorsque vous utilisez le paramètre UseCulture, assurez-vous que le séparateur de liste de la culture actuelle correspond au délimiteur utilisé dans les chaînes CSV. Sinon, ConvertFrom-CSV ne peut pas générer d'objets à partir des chaînes CSV.

Dans cet exemple, une commande Get-Culture a été utilisée afin de vérifier le séparateur de liste, avant que la commande ConvertFrom-CSV soit utilisée.






Voir aussi




Table des matières