ConvertFrom-Csv
Karakterle ayrılmış değer (CSV) biçimindeki nesne özelliklerini özgün nesnelerin CSV sürümlerine dönüştürür.
Syntax
ConvertFrom-Csv
[[-Delimiter] <Char>]
[-InputObject] <PSObject[]>
[-Header <String[]>]
[<CommonParameters>]
ConvertFrom-Csv
-UseCulture
[-InputObject] <PSObject[]>
[-Header <String[]>]
[<CommonParameters>]
Description
Cmdlet, ConvertFrom-Csv
her CSV veri satırı için karakter ayrılmış değer (CSV) verilerini PSObject tür nesnelerine dönüştürür. Yeni nesneler, CSV verilerinden okunma sırasına göre işlem hattına yazılır. CSV'nin sütun başlığı satırındaki değerler, her yeni PSObject'e eklenen özelliklerin adları haline gelir.
Oluşturan nesnelerConvertFrom-Csv
, CSV dosyasındaki her satır için PSObject türü nesnesidir. 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 ve Import-Csv
cmdlet'lerini kullanarak Export-Csv
nesneleri bir dosyadaki ve gerideki CSV dizelerine dönüştürebilirsiniz. Bu cmdlet'ler, CSV dizelerini bir dosyaya ConvertTo-Csv
kaydetmeleri dışında ve ConvertFrom-Csv
cmdlet'leriyle aynıdır.
PSObject türü, özelliklerin sırasını sütun başlığı sırasına göre korur. Bu, nesneleri CSV biçimine dönüştürdüğünüzde aynı sütun sırasını elde ettiğiniz anlamına gelir.
Ö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
cmdlet'i Get-Process
işlem hattının ConvertTo-Csv
aşağısına işlemleri gönderir. cmdlet'i ConvertTo-Csv
, işlem nesnelerini bir dizi CSV dizesine dönüştürür. cmdlet'i ConvertFrom-Csv
, CSV dizelerini özgün işlem nesnelerinin CSV sürümlerine dönüştürür.
CSV dizeleri değişkene $P
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ının aşağısına göndermek için ConvertTo-Csv
kullanırGet-Date
. cmdlet'i ConvertTo-Csv
tarih nesnesini bir dizi CSV dizesine dönüştürür. Sınırlayıcı parametresi noktalı virgül sınırlayıcı belirtmek için kullanılır. Dizeler değişkene $Date
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 header parametresinin ConvertFrom-Csv
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]
cmdlet'i Start-Job
çalıştıran Get-Process
bir arka plan işi başlatır. bir iş nesnesi, işlem hattına ConvertTo-Csv
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. değişkeni şu $Header
varsayılan değerlerin yerini alan özel bir üst bilgi içerir: HasMoreData, JobStateInfo, PSBeginTime, PSEndTime ve PSJobTypeName. $J
değişkeni CSV dizesini içerir ve varsayılan üst bilgiyi kaldırmak için kullanılır. cmdlet'i ConvertFrom-Csv
CSV dizesini PSCustomObject'e dönüştürür ve değişkeni uygulamak için Header parametresini $Header
kullanır.
Örnek 4: Hizmet nesnelerinin CSV dizelerini dönüştürme
Bu örnekte, cmdlet'in ConvertFrom-Csv
UseCulture parametresiyle nasıl kullanılacağı gösterilmektedir.
(Get-Culture).TextInfo.ListSeparator
$Services = (Get-Service | ConvertTo-Csv)
ConvertFrom-Csv -InputObject $Services -UseCulture
Cmdlet, Get-Culture
geçerli kültürün varsayılan liste ayırıcısını almak için TextInfo ve ListSeparator iç içe özelliklerini kullanır. Cmdlet, Get-Service
hizmet nesnelerini işlem hattının aşağısına ConvertTo-Csv
gönderir. , ConvertTo-Csv
hizmet nesnelerini bir dizi CSV dizesine dönüştürür. CSV dizeleri değişkeninde $Services
depolanır. cmdlet'i ConvertFrom-Csv
InputObject parametresini kullanır ve CSV dizelerini değişkenden $Services
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 nesne oluşturamazsınız.
Parametreler
-Delimiter
CSV dizelerindeki özellik değerlerini ayıran sınırlayıcıyı belirtir. Varsayılan değer virgüldür (,
). İki nokta (:
) gibi bir karakter girin. Noktalı virgül (;
) belirtmek için tek tırnak içine alın.
Dosyadaki gerçek dize sınırlayıcısı dışında bir karakter belirtirseniz, ConvertFrom-Csv
CSV dizelerinden nesneleri oluşturamaz ve CSV dizelerini döndürür.
Type: | Char |
Position: | 1 |
Default value: | comma (,) |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Header
İçeri aktarılan dize için alternatif bir sütun üst bilgisi satırı belirtir. sütun üst bilgisi tarafından ConvertFrom-Csv
oluşturulan nesnelerin özellik adlarını belirler.
Sütun başlıklarını karakterle ayrılmış liste olarak girin. üst bilgi dizesini tırnak içine alma. 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.
Header 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.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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. AYRıCA CSV dizelerini adresine ConvertFrom-Csv
de yöneltebilirsiniz.
Type: | PSObject[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | 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
.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Girişler
CSV dizelerini bu cmdlet'e yöneltebilirsiniz.
Çıkışlar
Bu cmdlet, CSV dizelerindeki özellikler tarafından açıklanan nesneleri döndürür.
Notlar
CSV biçiminde her nesne, nesnenin özellik değerlerinin karakterle ayrılmış bir listesiyle temsil edilir. Özellik değerleri, nesnesinin ToString()
yöntemi kullanılarak dizelere dönüştürülür. Nesnesinin yöntemlerini dışarı aktarmanın hiçbir yolu yoktur.
İlişkili Bağlantılar
PowerShell