Udostępnij za pomocą


ConvertTo-Csv

Konwertuje obiekty na serię ciągów wartości rozdzielanych przecinkami (CSV).

Składnia

Delimiter (domyślnie)

ConvertTo-Csv
    [-InputObject] <psobject>
    [[-Delimiter] <char>]
    [-NoTypeInformation]
    [<CommonParameters>]

UseCulture

ConvertTo-Csv
    [-InputObject] <psobject>
    [-UseCulture]
    [-NoTypeInformation]
    [<CommonParameters>]

Opis

Polecenie ConvertTo-CSV cmdlet zwraca serię ciągów wartości rozdzielanych przecinkami (CSV), które reprezentują przesyłane obiekty. Następnie możesz użyć polecenia cmdlet ConvertFrom-Csv, aby ponownie utworzyć obiekty z ciągów CSV. Obiekty konwertowane z pliku CSV są wartościami ciągów oryginalnych obiektów zawierających wartości właściwości i bez metod.

Możesz użyć polecenia cmdlet Export-Csv, aby przekonwertować obiekty na ciągi CSV. Export-CSV jest podobny do ConvertTo-CSV, z tą różnicą, że zapisuje ciągi CSV w pliku.

Polecenie cmdlet ConvertTo-CSV ma parametry, aby określić ogranicznik inny niż przecinek lub użyć bieżącej kultury jako ogranicznika.

Przykłady

Przykład 1. Konwertowanie obiektu na wolumin CSV

W tym przykładzie obiekt Process jest konwertowany na ciąg CSV.

Get-Process -Name 'PowerShell' | ConvertTo-Csv -NoTypeInformation
"Name","SI","Handles","VM","WS","PM","NPM","Path","Company","CPU","FileVersion", ...
"powershell","11","691","2204036739072","175943680","132665344","33312", ...

Polecenie cmdlet Get-Process pobiera obiekt procesu i używa parametru Name w celu określenia procesu programu PowerShell. Obiekt procesu jest wysyłany w dół potoku do polecenia cmdlet ConvertTo-CSV. Polecenie cmdlet ConvertTo-CSV konwertuje obiekt na ciągi CSV. Parametr NoTypeInformation usuwa nagłówek informacji #TYPE z danych wyjściowych CSV.

Przykład 2. Konwertowanie obiektu DateTime na csv

Ten przykład konwertuje obiekt DateTime na ciąg CSV.

$Date = Get-Date
ConvertTo-Csv -InputObject $Date -Delimiter ';' -NoTypeInformation
"DisplayHint";"DateTime";"Date";"Day";"DayOfWeek";"DayOfYear";"Hour";"Kind";"Millisecond";"Minute";"Month";"Second";"Ticks";"TimeOfDay";"Year"
"DateTime";"Friday, January 4, 2019 14:40:51";"1/4/2019 00:00:00";"4";"Friday";"4";"14";"Local";"711";"40";"1";"51";"636822096517114991";"14:40:51.7114991";"2019"

Polecenie cmdlet Get-Date pobiera obiekt DateTime i zapisuje go w zmiennej $Date. Polecenie cmdlet ConvertTo-Csv konwertuje obiekt DateTime na ciągi. Parametr InputObject używa obiektu DateTime przechowywanego w zmiennej $Date. Ogranicznik parametr określa średnik, aby oddzielić wartości ciągu. Parametr NoTypeInformation usuwa nagłówek informacji #TYPE z danych wyjściowych CSV.

Przykład 3. Konwertowanie dziennika zdarzeń programu PowerShell na wolumin CSV

W tym przykładzie dziennik zdarzeń systemu Windows dla programu PowerShell jest konwertowany na serię ciągów CSV.

(Get-Culture).TextInfo.ListSeparator
Get-WinEvent -LogName 'Windows PowerShell' | ConvertTo-Csv -UseCulture -NoTypeInformation
,
"Message","Id","Version","Qualifiers","Level","Task","Opcode","Keywords","RecordId", ...
"Error Message = System error","403",,"0","4","4",,"36028797018963968","46891","PowerShell", ...

Polecenie cmdlet Get-Culture używa zagnieżdżonych właściwości TextInfo i ListSeparator i wyświetla domyślny separator listy bieżącej kultury. Polecenie cmdlet Get-WinEvent pobiera obiekty dziennika zdarzeń i używa parametru LogName w celu określenia nazwy pliku dziennika. Obiekty dziennika zdarzeń są wysyłane w dół potoku do polecenia cmdlet ConvertTo-Csv. Polecenie cmdlet ConvertTo-Csv konwertuje obiekty dziennika zdarzeń na serię ciągów CSV. Parametr UseCulture używa domyślnego separatora listy bieżącej kultury jako ogranicznika. Parametr NoTypeInformation usuwa nagłówek informacji #TYPE z danych wyjściowych CSV.

Parametry

-Delimiter

Określa ogranicznik, aby oddzielić wartości właściwości w ciągach CSV. Wartość domyślna to przecinek (,). Wprowadź znak, taki jak dwukropek (:). Aby określić średnik (;) należy go ująć w pojedynczy cudzysłów.

Właściwości parametru

Typ:Char
Domyślna wartość:comma (,)
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

Delimiter
Position:1
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-InputObject

Określa obiekty, które są konwertowane na ciągi CSV. Wprowadź zmienną zawierającą obiekty lub wpisz polecenie lub wyrażenie, które pobiera obiekty. Można również potokować obiekty do ConvertTo-CSV.

Właściwości parametru

Typ:PSObject
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

(All)
Position:0
Obowiązkowe:True
Wartość z potoku:True
Wartość z potoku według nazwy właściwości:True
Wartość z pozostałych argumentów:False

-NoTypeInformation

Usuwa nagłówek informacji #TYPE z danych wyjściowych. Ten parametr stał się wartością domyślną w programie PowerShell 6.0 i został uwzględniony w celu zapewnienia zgodności z poprzednimi wersjami.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False
Aliasy:NTI

Zestawy parametrów

(All)
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

-UseCulture

Używa separatora listy dla bieżącej kultury do oddzielania elementów. Aby znaleźć separator listy dla kultury, użyj następującego polecenia: (Get-Culture).TextInfo.ListSeparator.

Właściwości parametru

Typ:SwitchParameter
Domyślna wartość:None
Obsługuje symbole wieloznaczne:False
DontShow:False

Zestawy parametrów

UseCulture
Position:Named
Obowiązkowe:False
Wartość z potoku:False
Wartość z potoku według nazwy właściwości:False
Wartość z pozostałych argumentów:False

CommonParameters

To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.

Dane wejściowe

PSObject

Można przesłać dowolny obiekt, który ma adapter ETS (Extended Type System) do ConvertTo-CSV.

Dane wyjściowe

String

Dane wyjściowe CSV są zwracane jako kolekcja ciągów.

Uwagi

W formacie CSV każdy obiekt jest reprezentowany przez rozdzielaną przecinkami listę wartości właściwości. Wartości właściwości są konwertowane na ciągi przy użyciu metody ToString() obiektu. Ciągi są reprezentowane przez nazwę wartości właściwości. ConvertTo-CSV nie eksportuje metod obiektu.

Ciągi CSV są danymi wyjściowymi w następujący sposób:

  • Domyślnie pierwszy ciąg zawiera nagłówek informacji #TYPE, po którym następuje w pełni kwalifikowana nazwa typu obiektu. Na przykład #TYPE System.Diagnostics.Process.
  • Jeśli noTypeInformation zostanie użyty pierwszy ciąg zawierający nagłówki kolumn. Nagłówki zawierają nazwy właściwości pierwszego obiektu jako listę rozdzielaną przecinkami.
  • Pozostałe ciągi zawierają rozdzielane przecinkami listy wartości właściwości każdego obiektu.

Podczas przesyłania wielu obiektów do ConvertTo-CSVConvertTo-CSV porządkuje ciągi na podstawie właściwości pierwszego przesyłanego obiektu. Jeśli pozostałe obiekty nie mają jednej z określonych właściwości, wartość właściwości tego obiektu ma wartość Null, reprezentowana przez dwa kolejne przecinki. Jeśli pozostałe obiekty mają dodatkowe właściwości, te wartości właściwości są ignorowane.