ConvertFrom-Csv

Az objektumtulajdonságokat karakterekkel tagolt érték (CSV) formátumban alakítja át az eredeti objektumok CSV-verzióivá.

Syntax

ConvertFrom-Csv
                [[-Delimiter] <Char>]
                [-InputObject] <PSObject[]>
                [-Header <String[]>]
                [<CommonParameters>]
ConvertFrom-Csv
                -UseCulture
                [-InputObject] <PSObject[]>
                [-Header <String[]>]
                [<CommonParameters>]

Description

A ConvertFrom-Csv parancsmag a karakterekkel elválasztott értékeket (CSV) PSObject típusú objektumokká alakítja a CSV-adatok minden sorához. Az új objektumok a CSV-adatokból beolvasott sorrendben lesznek megírva a folyamatba. A CSV oszlopfejlécének értékei lesznek az egyes új PSObject-hez hozzáadott tulajdonságok nevei.

A létrehozott objektumok ConvertFrom-Csv PSObject típusú objektumok a CSV-fájl minden sorához. A CSV-objektumok tulajdonságértékei az eredeti objektumok tulajdonságértékeinek sztringverziói. Az objektumok CSV-verziói nem rendelkeznek metódusokkal.

A parancsmagokkal az objektumokat csV-sztringekké alakíthatja Export-CsvImport-Csv egy fájlban és vissza. Ezek a parancsmagok megegyeznek a ConvertTo-Csv parancsmagokkal ConvertFrom-Csv , azzal a kivételrel, hogy a CSV-sztringeket fájlba menti.

A PSObject típus az oszlopfejlécek sorrendjében tartja fenn a tulajdonságok sorrendjét. Ez azt jelenti, hogy ugyanazt az oszlopsorrendet kapja, amikor az objektumokat CSV formátumban konvertálja vissza.

Példák

1. példa: Folyamatok konvertálása a helyi számítógépen CSV formátumra

Ez a példa bemutatja, hogyan konvertálhatja a helyi számítógépen lévő folyamatokat CSV formátumba, majd visszaállíthatja őket objektuműrlapra.

$P = Get-Process | ConvertTo-Csv
$P | ConvertFrom-Csv

A Get-Process parancsmag elküldi a folyamat folyamatait a következőnek ConvertTo-Csv: . A ConvertTo-Csv parancsmag CSV-sztringek sorozatává alakítja a folyamatobjektumokat. A ConvertFrom-Csv parancsmag a CSV-sztringeket az eredeti folyamatobjektumok CSV-verzióivá alakítja. A CSV-sztringek a $P változóba vannak mentve.

2. példa: Adatobjektum konvertálása CSV formátumra, majd CSV-objektumformátumra

Ez a példa bemutatja, hogyan alakíthat át adatobjektumokat CSV- és CSV-objektumformátummá.

$Date = Get-Date | ConvertTo-Csv -Delimiter ';'
ConvertFrom-Csv -InputObject $Date -Delimiter ';'

Az első parancs az Get-Date aktuális dátumot és időt küldi el a folyamatról a következőre ConvertTo-Csv: . A ConvertTo-Csv parancsmag CSV-sztringek sorozatává alakítja a dátumobjektumot. A határoló paraméter pontosvessző-elválasztót ad meg. A sztringek a változóba $Date vannak mentve.

3. példa: A tulajdonságok nevének módosítása a fejlécparaméter használatával

Ez a példa bemutatja, hogyan módosíthatja a tulajdonságok nevét az eredményként kapott importált objektum Fejléc paraméterével ConvertFrom-Csv .

$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]

A Start-Job parancsmag elindít egy háttérfeladatot, amely fut Get-Process. A rendszer egy feladatobjektumot küld le a folyamaton ConvertTo-Csv , és CSV-sztringgé alakítja át. A NoTypeInformation paraméter eltávolítja a típusinformációs fejlécet a CSV-kimenetből, és nem kötelező a PowerShell 6-os vagy újabb verziójában. A $Header változó egy egyéni fejlécet tartalmaz, amely a következő alapértelmezett értékeket váltja fel: HasMoreData, JobStateInfo, PSBeginTime, P Standard kiadás ndTime és PSJobTypeName. A $J változó tartalmazza a CSV-sztringet, és az alapértelmezett fejléc eltávolítására szolgál. A ConvertFrom-Csv parancsmag PSCustomObject sztringgé alakítja át a CSV-sztringet, és a Fejléc paraméterrel alkalmazza a változót$Header.

4. példa: Szolgáltatásobjektumok CSV-sztringjeinek konvertálása

Ez a példa bemutatja, hogyan használhatja a ConvertFrom-Csv parancsmagot a UseCulture paraméterrel.

(Get-Culture).TextInfo.ListSeparator
$Services = (Get-Service | ConvertTo-Csv)
ConvertFrom-Csv -InputObject $Services -UseCulture

A Get-Culture parancsmag a TextInfo és a ListSeparator beágyazott tulajdonságokat használja az aktuális kultúra alapértelmezett listaelválasztójának lekéréséhez. A Get-Service parancsmag szolgáltatásobjektumokat küld a folyamaton keresztül.ConvertTo-Csv A ConvertTo-Csv szolgáltatásobjektumokat CSV-sztringek sorozatává alakítja. A CSV-sztringek a $Services változóban vannak tárolva. A ConvertFrom-Csv parancsmag az InputObject paramétert használja, és átalakítja a CSV-sztringeket a $Services változóból. A UseCulture paraméter az aktuális kultúra alapértelmezett listaelválasztóját használja.

A UseCulture paraméter használatakor győződjön meg arról, hogy az aktuális kultúra alapértelmezett listaelválasztója megegyezik a CSV-sztringekben használt elválasztóval. ConvertFrom-Csv Ellenkező esetben nem lehet objektumokat létrehozni a CSV-sztringekből.

Paraméterek

-Delimiter

Megadja a CSV-sztringek tulajdonságértékeit elválasztó elválasztó karaktert. Az alapértelmezett érték egy vessző (,). Adjon meg egy karaktert, például kettőspontot (:). Pontosvessző (;) megadásához a pontosvesszőt idézőjelek közé kell foglalni.

Ha a fájlban a tényleges sztringelválasztótól eltérő karaktert ad meg, nem tudja létrehozni az objektumokat a CSV-sztringekből, ConvertFrom-Csv és visszaadja a CSV-sztringeket.

Type:Char
Position:1
Default value:comma (,)
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Header

Egy alternatív oszlopfejlécsort ad meg az importált sztringhez. Az oszlopfejléc határozza meg a létrehozott objektumok tulajdonságneveit ConvertFrom-Csv.

Írja be az oszlopfejléceket karakterrel elválasztott listaként. ne tegye idézőjelek közé a fejlécsztringet. Minden oszlopfejlécet egyetlen idézőjelbe foglal.

Ha kevesebb oszlopfejlécet ad meg, mint amennyi adatoszlop van, a rendszer elveti a többi adatoszlopot. Ha több oszlopfejlécet ad meg, mint az adatoszlopok, a további oszlopfejlécek üres adatoszlopokkal jönnek létre.

A Fejléc paraméter használatakor hagyja ki az oszlopfejléc sztringet a CSV-sztringekből. Ellenkező esetben ez a parancsmag egy további objektumot hoz létre a fejlécsor elemeiből.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Az objektumokká konvertálandó CSV-sztringeket adja meg. Adjon meg egy változót, amely tartalmazza a CSV-sztringeket, vagy írjon be egy parancsot vagy kifejezést, amely lekéri a CSV-sztringeket. A CSV-sztringeket a következőre ConvertFrom-Csvis csövezheti:

Type:PSObject[]
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-UseCulture

Az aktuális kultúra listaelválasztót használja elválasztó elemként. Egy kultúra listaelválasztójának megkereséséhez használja a következő parancsot: (Get-Culture).TextInfo.ListSeparator.

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

Bevitelek

String

CsV-sztringeket erre a parancsmagra is csövezhet.

Kimenetek

PSObject

Ez a parancsmag a CSV-sztringek tulajdonságai által leírt objektumokat adja vissza.

Jegyzetek

CSV formátumban minden objektumot az objektum tulajdonságértékeinek karakterrel tagolt listája jelöl. A tulajdonságértékek sztringekké alakulnak az ToString() objektum metódusával. Az objektum metódusait nem lehet exportálni.