我有两列数据,第一列是字符串数组,第二列是实际的对象。我正在寻找一种简单的方法将其导出为csv。我有一个带有foreach循环的版本,它可以构建每个字符串,但是它会像over kill一样接缝。我一直在尝试使用select和select对象以某种方式解决它。注意我只是PowerShell的初学者,所以我可能会遗漏一些东西。
我的第一次尝试:
$data | Select-Object -ExpandProperty reports | Select -ExpandProperty data | Select -ExpandProperty rows | Format-Table $_.dimensions
结果:
dimensions metrics
---------- -------
{New Visitor, "Mozilla} {@{values=System.Object[]}}
我的第二个就是循环
foreach ($report in $data.reports) {
"Rows:" + $report.data.rows.Count
foreach ($row in $report.data.rows) {
$output = ""
foreach($dim in $row.dimensions) {
$output += $dim + $seporator
}
foreach($met in $row.metrics) {
foreach($v in $met.values) {
$output += $v + $seporator
}
}
#| Out-File -Append C:\Users\linda_l\Documents\debug.txt
$output
}
}
这里有很多数据可能,所以我真的想避免使用字符串构建解决方案。
注意:数据来自Google Analytics报告API
$data = Invoke-RestMethod -ContentType 'application/json' -Uri "https://analyticsreporting.googleapis.com/v4/reports:batchGet?access_token=$($token.access_token)" -Method POST -Body $analyticsRequest
报告:{@ {columnHeader =;数据=}}
来自评论:
$data | Export-Csv -Path "C:\Users\linda_l\Documents\debug2.csv"
System.Management.Automation.PSCustomObject
报告
System.Object []
最佳输出csv
新访客,S40 Ovi浏览器,1,2
新访客,Safari,3,4
请注意Github获取refreshtoken
的步骤