PowerShell'de Diziyi CSV'ye Yaz
Bu makalede PowerShell'de bir CSV dosyasına dizinin nasıl yazılacağı açıklanacaktır.
Export-Csv cmdlet'ini kullanma
PowerShell'deki Export-Csv cmdlet'i, verilen nesnelerin bir CSV dosyasını oluşturur. Ancak bir diziyi doğrudan bir CSV dosyasına doğru şekilde yazamazsınız.
Diziyi Export-Csv'ye yönlendirdiğinizde sonuç buna benzer olacaktır.
Bir diziyi CSV dosyasına aktarmanın en iyi yolu şudur:
- Bir diziden PSObject oluşturma
- PSObject'i yeni bir dizide saklayın
Export-Csvcmdlet'ine yeni bir dizi aktarın
diziyi bir CSV dosyasına yaz:
$array = @('Chris', '24', 'Police'),
('Tom', '27', 'Farmer'),
('Anthony', '29', 'Lawyer')
$newarr = @()
$columns = @('Name','Age','Job')
foreach ($item in $array){
$obj = New-Object PSObject
for ($i=0;$i -lt $array.Length; $i++){
$obj | Add-Member -MemberType NoteProperty -Name $columns[$i] -Value $item[$i]
}
$newarr+=$obj
$obj=$null
}
$newarr | Export-Csv output.csv -NoTypeInformationYukarıdaki örnekte, bir CSV dosyasına yazmak için $array dizisini oluşturduk. $newarr, daha sonra PSObject'i depolamak için kullanılacak boş bir dizidir. $columns veriye ilişkin başlık etiketini içerir.
New-Object cmdlet'ini kullanarak PSObject $obj'ı oluşturduk. Daha sonra for döngüsünde Add-Member kullanarak Name özelliğine ve $columns değerlerini ekledik. >$array değerlerini PSObject'in Value özelliğinde bulabilirsiniz.
New-Object cmdlet'i bir .NET Framework veya COM nesnesinin örneğini oluşturmak için kullanılır.
Add-Membercmdlet'i PowerShell nesnelerine özel özellikler eklemek için kullanılır.
Bundan sonra $newarr'ı $obj'a eklenen verilerle doldurduk.
$newarr artık aşağıdaki verileri içeriyor.
Çıkış:
Name Age Job
---- --- ---
Chris 24 Police
Tom 27 Farmer
Anthony 29 LawyerSon olarak, Export-Csv cmdlet'ine bir $newarr dizisini aktardık ve geçerli dizinde bir CSV dosyası output.csv oluşturduk.
-NoTypeInformation, bir CSV dosyasındaki #TYPE bilgi başlığını kaldırmak için kullanılır.
Dizi başarıyla bir CSV dosyasına aktarıldı.
Set-Content cmdlet'ini kullanma
Bu yöntemin çalışması için şöyle bir dizi oluşturmanız gerekir:
Bir dizi oluşturma:
$array = @('Name,Age,Job'),
('Chris,24,Police'),
('Tom,27,Farmer'),
('Anthony,29,Lawyer')Birden fazla öğeyi ayırmak için virgül kullanırsak bunu bir CSV dosyasına doğru formatta yazabiliriz.
Bu diziyi bir CSV'ye aktarmak için Set-Content veya Add-Content cmdlet'ini kullanabilirsiniz.
diziyi bir CSV dosyasına yaz:
$array | Set-Content output.csvHepsi PowerShell'de csv'ye bir dizinin nasıl yazılacağıyla ilgili. Herhangi bir kafa karışıklığınız varsa, yorumlarda bize bildirin.

