Megosztás a következőn keresztül:


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ípusobjektumokká alakítja az egyes CSV-adatok soraihoz. Az új objektumok a CSV-adatokból beolvasott sorrendben lesznek megírva a folyamatba. A CSV oszlopfejlécének értékei az egyes új PSObjecthozzáadott tulajdonságok neveivé válnak.

Az ConvertFrom-Csv által létrehozott objektumok PSObject típusobjektumok 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 Export-Csv és Import-Csv parancsmagokkal is átalakíthat objektumokat CSV-sztringekké egy fájlban és vissza. Ezek a parancsmagok megegyeznek a ConvertTo-Csv és a ConvertFrom-Csv parancsmagokkal, azzal a kivételével, 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 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 Get-Date használatával küldi el a folyamat aktuális dátumát és idejét ConvertTo-Csv. A ConvertTo-Csv parancsmag CSV-sztringek sorozatává alakítja a dátumobjektumot. A elválasztó paraméter pontosvesszőt ad meg. A sztringek a $Date változóba 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 objektumban a Fejléc paraméter használatával 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 Get-Processfut. A rendszer egy feladatobjektumot küld le a folyamaton ConvertTo-Csv és CSV-sztringgé konvertálja. 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 helyettesíti: HasMoreData, JobStateInfo, PSBeginTime, PSEndTimeé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 átalakítja a CSV-sztringet egy PSCustomObject, és a Fejléc paraméterrel alkalmazza a $Header változót.

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 Beágyazott tulajdonságokat TextInfo és ListSeparator 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 a ConvertTo-Csv. A ConvertTo-Csv a 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.

Ha a UseCulture paramétert használja, 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. Ellenkező esetben ConvertFrom-Csv nem hozhat létre objektumokat 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 (:). Ha pontosvesszőt (;) szeretne megadni, akkor azt idézőjelek közé kell foglalnia.

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

Típus:Char
Position:1
Alapértelmezett érték:comma (,)
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása:False

-Header

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

Í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.

Típus:String[]
Position:Named
Alapértelmezett érték:None
Kötelező:False
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása: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 ConvertFrom-Csvis befűzheti.

Típus:PSObject[]
Position:0
Alapértelmezett érték:None
Kötelező:True
Folyamatbemenet elfogadása:True
Helyettesítő karakterek elfogadása: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.

Típus:SwitchParameter
Position:Named
Alapértelmezett érték:None
Kötelező:True
Folyamatbemenet elfogadása:False
Helyettesítő karakterek elfogadása: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 objektum ToString() metódusával. Az objektum metódusait nem lehet exportálni.