ConvertFrom-Csv
Převede vlastnosti objektů ve formátu hodnot oddělených čárkami (CSV) na verze CSV původních objektů.
Syntax
Delimiter (Výchozí)
ConvertFrom-Csv
[-InputObject] <psobject[]>
[[-Delimiter] <char>]
[-Header <string[]>]
[<CommonParameters>]
UseCulture
ConvertFrom-Csv
[-InputObject] <psobject[]>
-UseCulture
[-Header <string[]>]
[<CommonParameters>]
Description
Rutina ConvertFrom-Csv vytváří objekty z řetězců CSV s proměnlivou délkou, které rutina ConvertTo-Csv generuje.
Parametry této rutiny můžete použít k určení řádku záhlaví sloupce, který určuje názvy vlastností výsledných objektů, k určení oddělovače položek nebo k nasměrování této rutiny tak, aby jako oddělovač používala oddělovač seznamu pro aktuální jazykovou verzi.
Objekty, které se vytvářejí, ConvertFrom-Csv jsou verze CSV původních objektů. Hodnoty vlastností objektů CSV jsou řetězcové verze hodnot vlastností původních objektů. Verze CSV objektů nemají žádné metody.
Rutiny and Export-Csv můžete také použít Import-Csv k převodu objektů na řetězce CSV v souboru (a zpět). Tyto rutiny jsou stejné jako ConvertTo-Csv a ConvertFrom-Csv rutiny s tím rozdílem, že ukládají řetězce CSV do souboru.
Příklady
Příklad 1: Převod procesů na místním počítači na formát CSV
Tento příklad ukazuje, jak převést procesy v místním počítači do formátu CSV a pak je obnovit do formuláře objektu.
$P = Get-Process | ConvertTo-Csv
$P | ConvertFrom-Csv
Rutina Get-Process odešle procesy z kanálu do ConvertTo-Csv. Rutina ConvertTo-Csv převede objekty procesu na řadu řetězců CSV. Rutina ConvertFrom-Csv převede řetězce CSV na verze CSV původních objektů procesu. Řetězce CSV se ukládají do proměnné $P.
Příklad 2: Převod datového objektu do formátu CSV a potom na formát objektu CSV
Tento příklad ukazuje, jak převést datový objekt do formátu CSV a pak na formát objektu CSV.
$Date = Get-Date | ConvertTo-Csv -Delimiter ';'
ConvertFrom-Csv -InputObject $Date -Delimiter ';'
První příkaz používá Get-Date k odeslání aktuálního data a času v kanálu do ConvertTo-Csv. Rutina ConvertTo-Csv převede objekt data na řadu řetězců CSV.
Parametr Oddělovač slouží k určení oddělovače středníku. Řetězce jsou uloženy v proměnné $Date.
Příklad 3: Změna názvů vlastností pomocí parametru hlavičky
Tento příklad ukazuje, jak pomocí parametru HeaderConvertFrom-Csv změnit názvy vlastností ve výsledném importovaném objektu.
$J = Start-Job -ScriptBlock { Get-Process } | ConvertTo-Csv -NoTypeInformation
$Header = 'State', 'MoreData', 'StatusMessage', 'Location', 'Command', 'StateInfo', 'Finished', 'InstanceId', 'Id', 'Name', 'ChildJobs', 'BeginTime', 'EndTime', 'JobType', 'Output', 'Error', 'Progress', 'Verbose', 'Debug', 'Warning', 'Information'
# Delete the default header from $J
$J = $J[1..($J.count - 1)]
$J | ConvertFrom-Csv -Header $Header
State : Running
MoreData : True
StatusMessage :
Location : localhost
Command : Get-Process
StateInfo : Running
Finished : System.Threading.ManualResetEvent
InstanceId : a259eb63-6824-4b97-a033-305108ae1c2e
Id : 1
Name : Job1
ChildJobs : System.Collections.Generic.List`1[System.Management.Automation.Job]
BeginTime : 12/20/2018 18:59:57
EndTime :
JobType : BackgroundJob
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.Management.Automation.VerboseRecord]
Debug : System.Management.Automation.PSDataCollection`1[System.Management.Automation.DebugRecord]
Warning : System.Management.Automation.PSDataCollection`1[System.Management.Automation.WarningRecord]
Information : System.Management.Automation.PSDataCollection`1[System.Management.Automation.InformationRecord]
Cmdlet Start-Job spustí úlohu na pozadí, která běží Get-Process. Objekt úlohy se odešle do kanálu, aby se ConvertTo-Csv a převedl na řetězec CSV. Parametr NoTypeInformation odebere hlavičku informací o typu z výstupu CSV a je volitelný v PowerShell Core. Proměnná $Header obsahuje vlastní hlavičku, která nahrazuje následující výchozí hodnoty: HasMoreData, JobStateInfo, PSBeginTime, PSEndTimea PSJobTypeName. Proměnná $J obsahuje řetězec CSV a slouží k odebrání výchozí hlavičky. Rutina ConvertFrom-Csv převede řetězec CSV na PSCustomObject a použije parametr Header k použití proměnné $Header.
Příklad 4: Převod řetězců CSV objektů služby
Tento příklad ukazuje, jak použít rutinu ConvertFrom-Csv s parametrem UseCulture.
(Get-Culture).TextInfo.ListSeparator
$Services = (Get-Service | ConvertTo-Csv)
ConvertFrom-Csv -InputObject $Services -UseCulture
Cmdlet Get-Culture používá vnořené vlastnosti TextInfo a ListSeparator k získání výchozího oddělovače seznamu podle aktuálního nastavení kultury. Rutina Get-Service odesílá objekty služby do kanálu do ConvertTo-Csv.
ConvertTo-Csv převede objekty služby na řadu řetězců CSV. Řetězce CSV jsou uloženy v proměnné $Services. Rutina ConvertFrom-Csv používá parametr InputObject a převede řetězce CSV z proměnné $Services. Parametr UseCulture používá výchozí oddělovač seznamu aktuální kultury.
Pokud se použije parametr UseCulture, ujistěte se, že výchozí oddělovač seznamu aktuální jazykové verze odpovídá oddělovači použitému v řetězcích CSV. V opačném případě ConvertFrom-Csv nelze generovat objekty z řetězců CSV.
Parametry
-Delimiter
Určuje oddělovač, který odděluje hodnoty vlastností v řetězcích CSV. Výchozí hodnota je čárka (,).
Zadejte znak, například dvojtečku (:). Chcete-li určit středník (;) ho uzavřete do jednoduchých uvozovek.
Pokud v souboru ConvertFrom-Csv určíte jiný znak, než je skutečný oddělovač řetězců, nelze vytvořit objekty z řetězců CSV a vrátí řetězce CSV.
Vlastnosti parametru
| Typ: | Char |
| Default value: | comma (,) |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
Delimiter
| Position: | 1 |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-Header
Určuje řádek záhlaví alternativního sloupce pro importovaný řetězec. Záhlaví sloupce určuje názvy vlastností objektů vytvořených ConvertFrom-Csv.
Záhlaví sloupců zadávejte jako seznam oddělený čárkami. Neuzavírejte řetězec záhlaví do uvozovek. Uzavřete záhlaví každého sloupce do jednoduchých uvozovek.
Pokud zadáte méně záhlaví sloupců, než jsou sloupce dat, zbývající datové sloupce se zahodí. Pokud zadáte více záhlaví sloupců, než jsou datové sloupce, vytvoří se další záhlaví sloupců s prázdnými datovými sloupci.
Při použití parametru Header vynecháte řetězec záhlaví sloupce z řetězců CSV. V opačném případě tato rutina vytvoří další objekt z položek v řádku záhlaví.
Vlastnosti parametru
| Typ: | String[] |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-InputObject
Určuje řetězce CSV, které se mají převést na objekty. Zadejte proměnnou obsahující řetězce CSV nebo zadejte příkaz nebo výraz, který získá řetězce CSV. Řetězce CSV můžete také převést na ConvertFrom-Csv.
Vlastnosti parametru
| Typ: | PSObject[] |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | 0 |
| Povinné: | True |
| Hodnota z kanálu: | True |
| Hodnota z kanálu podle názvu vlastnosti: | True |
| Hodnota ze zbývajících argumentů: | False |
-UseCulture
Použije oddělovač seznamu pro aktuální kulturu jako oddělovač položek. K vyhledání oddělovače seznamu pro kulturu použijte následující příkaz: (Get-Culture).TextInfo.ListSeparator.
Vlastnosti parametru
| Typ: | SwitchParameter |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
UseCulture
| Position: | Named |
| Povinné: | True |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
CommonParameters
Tato rutina podporuje běžné parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction a -WarningVariable. Další informace najdete v about_CommonParameters.
Vstupy
String
Do této rutiny můžete vést řetězce CSV.
Výstupy
PSObject
Tato rutina vrátí objekty popsané vlastnostmi v řetězcích CSV.
Poznámky
Vzhledem k tomu, že importované objekty jsou verze CSV typu objektu, nejsou rozpoznány a formátovány položkami formátování typu PowerShell, které formátují verze typu objektu, které nejsou ve formátu CSV.
Ve formátu CSV je každý objekt reprezentován čárkami odděleným seznamem hodnot vlastností objektu. Hodnoty vlastností jsou převedeny na řetězce (pomocí metody ToString() objektu), takže jsou reprezentovány názvem hodnoty vlastnosti. Tato rutina neexportuje metody objektu.