我有以下代碼來獲取串列。
$str = '[
{"attrs": { "id": "A", "repeat": 2}},
{"attrs": { "id": "B", "repeat": 3}}
]'
$json = $str | ConvertFrom-Json
我想將其轉換為 CSV。該行應按repeat屬性值重復。
id,repeat
A,2
A,2
B,3
B,3
B,3
以下代碼
$json | % { $_.attrs | ConvertTo-Csv -NoTypeInformation -UseQuotes AsNeeded | select -Skip 1 }
生成以下結果。如何實作日志重復行?(實際邏輯更復雜,語言功能如generator可能會有所幫助,但是,Powershell 似乎沒有。)
A,2
B,3
uj5u.com熱心網友回復:
您可以使用范圍運算子..和內部回圈:
$json.attrs | ForEach-Object {
foreach($i in 1..$_.repeat) { $_ }
} | Export-Csv path\to\csv.csv -NoTypeInformation
如果你想讓檔案沒有標題,那么ConvertTo-Csv也可以在回圈之外:
$json.attrs | ForEach-Object {
foreach($i in 1..$_.repeat) { $_ }
} | ConvertTo-Csv -UseQuotes AsNeeded | Select-Object -Skip 1
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/532922.html
標籤:电源外壳
上一篇:如何使用JS/jQuery.animate({影片元素從Last到First/ReverseAnimation的函式
下一篇:如何檢查物件屬性的資料型別?
