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-Csv
Import-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-Csv
is 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
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 ToString()
objektum metódusával. Az objektum metódusait nem lehet exportálni.