ConvertFrom-Csv
Virgülle ayrılmış değer (CSV) biçimindeki nesne özelliklerini orijinal nesnelerin CSV sürümlerine dönüştürür.
Syntax
Delimiter (Varsayılan)
ConvertFrom-Csv
[[-Delimiter] <Char>]
[-InputObject] <PSObject[]>
[-Header <String[]>]
[<CommonParameters>]
UseCulture
ConvertFrom-Csv
[-InputObject] <PSObject[]>
-UseCulture
[-Header <String[]>]
[<CommonParameters>]
Description
Cmdlet ConvertFrom-Csv , cmdlet tarafından oluşturulan CSV değişken uzunluklu ConvertTo-Csv dizelerden nesneler oluşturur.
Bu cmdlet'in parametrelerini, sonuçta elde edilen nesnelerin özellik adlarını belirleyen sütun başlığı satırını belirtmek, öğe sınırlayıcısını belirtmek veya bu cmdlet'i sınırlayıcı olarak geçerli kültürün liste ayırıcısını kullanmaya yönlendirmek için kullanabilirsiniz.
Oluşturulan nesneler ConvertFrom-Csv , orijinal nesnelerin CSV sürümleridir. CSV nesnelerinin özellik değerleri, özgün nesnelerin özellik değerlerinin dize sürümleridir. Nesnelerin CSV sürümlerinde herhangi bir yöntem yoktur.
Ayrıca, nesneleri bir dosyadaki CSV dizelerine (ve geri) dönüştürmek için ve Export-Csv cmdlet'lerini de kullanabilirsinizImport-Csv. Bu cmdlet'ler, CSV dizelerini bir dosyaya kaydetmeleri dışında ConvertTo-Csv ve ConvertFrom-Csv cmdlet'leriyle aynıdır.
Örnekler
Örnek 1: Yerel bilgisayardaki işlemleri CSV biçimine dönüştürme
Bu örnekte, yerel bilgisayardaki işlemlerin CSV biçimine nasıl dönüştürüldüğü ve ardından nesne biçimine nasıl geri yükleneceği gösterilmektedir.
$P = Get-Process | ConvertTo-Csv
$P | ConvertFrom-Csv
Get-Process cmdlet'i işlem hattının aşağısına ConvertTo-Csvişlemleri gönderir.
ConvertTo-Csv cmdlet'i, işlem nesnelerini bir dizi CSV dizesine dönüştürür.
ConvertFrom-Csv cmdlet'i, CSV dizelerini özgün işlem nesnelerinin CSV sürümlerine dönüştürür. CSV dizeleri $P değişkenine kaydedilir.
Örnek 2: Veri nesnesini CSV biçimine ve ardından CSV nesne biçimine dönüştürme
Bu örnekte, bir veri nesnesini CSV biçimine ve ardından CSV nesne biçimine dönüştürme işlemi gösterilmektedir.
$Date = Get-Date | ConvertTo-Csv -Delimiter ';'
ConvertFrom-Csv -InputObject $Date -Delimiter ';'
İlk komut geçerli tarih ve saati işlem hattından Get-Dategöndermek için ConvertTo-Csv kullanır.
ConvertTo-Csv cmdlet'i tarih nesnesini bir dizi CSV dizesine dönüştürür.
noktalı virgül sınırlayıcı belirtmek için Sınırlayıcı parametresi kullanılır. Dizeler $Date değişkenine kaydedilir.
Örnek 3: Özelliklerin adlarını değiştirmek için üst bilgi parametresini kullanın
Bu örnekte, elde edilen içeri aktarılan nesnedeki özelliklerin adlarını değiştirmek için ConvertFrom-Csv parametresinin nasıl kullanılacağı gösterilmektedir.
$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]
Start-Job cmdlet'i Get-Processçalıştıran bir arka plan işi başlatır. bir iş nesnesi ConvertTo-Csv için işlem hattına gönderilir ve csv dizesine dönüştürülür.
NoTypeInformation parametresi, CSV çıktısından tür bilgisi üst bilgisini kaldırır ve PowerShell v6 ve üzeri sürümlerde isteğe bağlıdır.
$Header değişkeni şu varsayılan değerlerin yerini alan özel bir üst bilgi içerir: HasMoreData, JobStateInfo, PSBeginTime, PSEndTimeve PSJobTypeName.
$J değişkeni CSV dizesini içerir ve varsayılan üst bilgiyi kaldırmak için kullanılır.
ConvertFrom-Csv cmdlet'i CSV dizesini bir PSCustomObject dönüştürür ve değişkenini uygulamak için $Header parametresini kullanır.
Örnek 4: Hizmet nesnelerinin CSV dizelerini dönüştürme
Bu örnekte, ConvertFrom-Csv cmdlet'in UseCulture parametresiyle nasıl kullanılacağı gösterilmektedir.
(Get-Culture).TextInfo.ListSeparator
$Services = (Get-Service | ConvertTo-Csv)
ConvertFrom-Csv -InputObject $Services -UseCulture
Get-Culture cmdlet'i, geçerli kültürün varsayılan liste ayırıcısını almak için TextInfo ve ListSeparator iç içe özellikleri kullanır.
Get-Service cmdlet'i hizmet nesnelerini ConvertTo-Csvişlem hattına gönderir.
ConvertTo-Csv, hizmet nesnelerini bir dizi CSV dizesine dönüştürür. CSV dizeleri $Services değişkeninde depolanır.
ConvertFrom-Csv cmdlet'i InputObject parametresini kullanır ve CSV dizelerini $Services değişkenden dönüştürür.
UseCulture parametresi geçerli kültürün varsayılan liste ayırıcısını kullanır.
UseCulture parametresi kullanıldığında, geçerli kültürün varsayılan liste ayırıcısının CSV dizelerinde kullanılan sınırlayıcıyla eşleştiğinden emin olun. Aksi takdirde, ConvertFrom-Csv CSV dizelerinden nesneler oluşturulamaz.
Parametreler
-Delimiter
CSV dizelerindeki özellik değerlerini ayıran sınırlayıcıyı belirtir. Varsayılan değer virgüldür (,). Bir karakter girin, örneğin iki nokta üst üste (:). Noktalı virgülü (;) belirtmek için onu tek tırnak işaretleri içine alın.
Dosyada gerçek dize sınırlayıcısı dışında bir karakter belirtirseniz, ConvertFrom-Csv CSV dizelerinden nesneler oluşturulamaz ve CSV dizelerini döndürür.
Parametre özellikleri
| Tür: | Char |
| Default value: | comma (,) |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
Delimiter
| Position: | 1 |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-Header
İçeri aktarılan dize için alternatif bir sütun üst bilgisi satırı belirtir. sütun başlığı, ConvertFrom-Csvtarafından oluşturulan nesnelerin özellik adlarını belirler.
Sütun başlıklarını virgülle ayrılmış liste olarak girin. Başlık dizesini tırnak işaretleri içine almayın. Her sütun başlığını tek tırnak içine alın.
Veri sütunlarından daha az sütun başlığı girerseniz, kalan veri sütunları atılır. Veri sütunlarından daha fazla sütun başlığı girerseniz, ek sütun başlıkları boş veri sütunlarıyla oluşturulur.
Üst Bilgisi parametresini kullanırken, CSV dizelerinden sütun üst bilgisi dizesini atlar. Aksi takdirde, bu cmdlet üst bilgi satırındaki öğelerden ek bir nesne oluşturur.
Parametre özellikleri
| Tür: | String[] |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
(All)
| Position: | Named |
| Zorunlu: | False |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-InputObject
Nesnelere dönüştürülecek CSV dizelerini belirtir. CSV dizelerini içeren bir değişken girin veya CSV dizelerini alan bir komut veya ifade yazın. CSV dizelerini ConvertFrom-Csv'e de yöneltebilirsiniz.
Parametre özellikleri
| Tür: | PSObject[] |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
(All)
| Position: | 0 |
| Zorunlu: | True |
| İşlem hattından gelen değer: | True |
| Özellik adına göre işlem hattından gelen değer: | True |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
-UseCulture
Öğe sınırlayıcısı olarak geçerli kültür için liste ayırıcısını kullanır. Bir kültürün liste ayırıcısını bulmak için şu komutu kullanın: (Get-Culture).TextInfo.ListSeparator.
Parametre özellikleri
| Tür: | SwitchParameter |
| Default value: | None |
| Joker karakterleri destekler: | False |
| DontShow: | False |
Parametre kümeleri
UseCulture
| Position: | Named |
| Zorunlu: | True |
| İşlem hattından gelen değer: | False |
| Özellik adına göre işlem hattından gelen değer: | False |
| Kalan bağımsız değişkenlerden elde edilen değer: | False |
CommonParameters
Bu cmdlet yaygın parametreleri destekler: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction ve -WarningVariable. Daha fazla bilgi için bkz. about_CommonParameters.
Girişler
String
CSV dizelerini bu cmdlet'e yöneltebilirsiniz.
Çıkışlar
PSObject
Bu cmdlet, CSV dizelerindeki özellikler tarafından açıklanan nesneleri döndürür.
Notlar
İçeri aktarılan nesneler nesne türünün CSV sürümleri olduğundan, nesne türünün CSV olmayan sürümlerini biçimlendiren PowerShell türü biçimlendirme girişleri tarafından tanınmaz ve biçimlendirilmez.
CSV biçiminde, her nesne, nesnenin özellik değerlerinin virgülle ayrılmış bir listesiyle temsil edilir. Özellik değerleri dizelere dönüştürülür (nesnenin ToString() yöntemi kullanılarak), böylece özellik değerinin adıyla temsil edilirler. Bu cmdlet, nesnenin yöntemlerini dışarı aktarmaz.