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-Process
fut. 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-Csv
is 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
CsV-sztringeket erre a parancsmagra is csövezhet.
Kimenetek
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.