不需要循環,這應該是麪包和黃油PowerShell領土。將集合送入管道,使用Select-Object
挑選出您關心的屬性,然後將管道送入Export-CSV
,該處理CSV標題行,將它們放在同一行上,在它們之間放置逗號,引用等等。
$employees = ConvertFrom-Json $json
$employees.information | Select-Object name, jobtitle | Export-CSV -Path out.csv -NoTypeInformation
唯一奇怪的位是-NoTypeInformation
,它阻止它將整數/字符串/等的PowerShell特定的標記。 CSV中的類型,Excel(例如)不會讀取的內容。
例如三個具有X,Y,Z屬性的對象 - 只選X和Z,並將它們設爲CSV:
PS C:\> $Things = @(
[PSCustomObject]@{X=1; Y=2; Z=3}
,[PSCustomObject]@{X=4; Y=5; Z=6}
,[PSCustomObject]@{X=7; Y=8; Z=9}
)
$Things | Select-Object X,Z | ConvertTo-Csv -NoTypeInformation
"X","Z"
"1","3"
"4","6"
"7","9"