Udostępnij za pośrednictwem


ConvertTo-Csv

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

Składnia

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

Opis

Polecenie ConvertTo-CSV cmdlet zwraca serię ciągów wartości rozdzielanych znakami (CSV), które reprezentują przesyłane obiekty. Następnie możesz użyć ConvertFrom-Csv polecenia cmdlet , 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ć Export-Csv polecenia cmdlet , 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 ConvertTo-CSV cmdlet 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 Get-Process cmdlet pobiera obiekt Process i używa parametru Name do określenia procesu programu PowerShell. Obiekt procesu jest wysyłany w dół potoku ConvertTo-CSV do polecenia cmdlet. Polecenie ConvertTo-CSV cmdlet 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

W tym przykładzie obiekt DateTime jest konwertowany 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 Get-Date cmdlet pobiera obiekt DateTime i zapisuje go w zmiennej $Date . Polecenie ConvertTo-Csv cmdlet konwertuje obiekt DateTime na ciągi. Parametr InputObject używa obiektu DateTime przechowywanego w zmiennej $Date . Parametr ogranicznika 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 Get-Culture cmdlet używa zagnieżdżonych właściwości TextInfo i ListSeparator i wyświetla domyślny separator listy bieżącej kultury. Polecenie Get-WinEvent cmdlet pobiera obiekty dziennika zdarzeń i używa parametru LogName do określenia nazwy pliku dziennika. Obiekty dziennika zdarzeń są wysyłane w dół potoku ConvertTo-Csv do polecenia cmdlet. Polecenie ConvertTo-Csv cmdlet 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 (;) ujęć go w pojedynczy cudzysłów.

Type:Char
Position:1
Default value:comma (,)
Required:False
Accept pipeline input:False
Accept wildcard characters: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ż przekazać obiekty potokowe do ConvertTo-CSVobiektu .

Type:PSObject
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters: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.

Type:SwitchParameter
Aliases:NTI
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-UseCulture

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

Type:SwitchParameter
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Dane wejściowe

PSObject

Do tego polecenia cmdlet można przekazać potok dowolny obiekt z kartą systemu rozszerzonego typu (ETS).

Dane wyjściowe

String

To polecenie cmdlet zwraca jeden lub więcej ciągów reprezentujących każdy przekonwertowany obiekt.

Uwagi

W formacie CSV każdy obiekt jest reprezentowany przez rozdzielaną znakami listę jego wartości właściwości. Wartości właściwości są konwertowane na ciągi przy użyciu metody ToString(). 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 parametr NoTypeInformation jest używany, pierwszy ciąg zawiera 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.

Po przesłaniu wielu obiektów do ConvertTo-CSVprogramu ConvertTo-CSV polecenie 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.