2016-09-14 41 views
0

我很難得到我的頭如何將json中每個對象的兩個「屬性」並將它們輸出到csv中。這兩個屬性是「名稱」和「工作標題」,我認爲應該有一種方法來提取它們。Out-File具有特定格式/信息的csv

$employees= ConvertFrom-Json $json 
foreach ($person in $employees.information) { 
    # $person.name $person.jobtitle 
} 

回答

2

不需要循環,這應該是麪包和黃油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"