PowerShell将多个对象导出为csv

时间:2016-12-20 13:54:07

标签: powershell csv object

我有两列数据,第一列是字符串数组,第二列是实际的对象。我正在寻找一种简单的方法将其导出为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

的步骤

数据来自Google analytics reporting API

0 个答案:

没有答案