【问题标题】:Array exporting to csv from powershell stack issue从 powershell 堆栈问题导出到 csv 的数组
【发布时间】:2013-10-25 02:50:48
【问题描述】:

我正在为我们的 vSphere 在 powercli 中创建一个报告脚本。 我正在尝试制作一个可以导出到 csv 的数组。 我遇到的问题是我需要将多行输入到数组中,而不仅仅是一遍又一遍。

当我以当前格式运行时,所发生的只是最外层的行报告,而不是内部的报告

这是我希望脚本执行的操作的模型。

$report = @()
foreach($D in $data){
$row = "" | select Datacenter, datacenterInfo
$row.datacenter = "kam1"
$row.datacenterInfo = "12"
$report += $row
foreach($F in $D){
    $row2 = "" | select folder, folderInfo
    $row2.folder = "test"
    $row2.folderInfo = "34"
    $report += $row2
    foreach($VM in $F){
        $row3 = "" | select VM, VMInfo
        $row3.VM = "test"
        $row3.VMInfo = "56"
                    $report += $row3
    }
}
}

$report | export-csv -path c:\temp\testy.csv -NoTypeInformation

感谢任何帮助

数据有望在 Excel 中以 csv 形式出现,同时看起来像这样

datacenter / datacenterinfo
test       / 12
folder     /  folderinfo
test       / 34
VM         / VMInfo
test       / 56

不过,真正的脚本会详细说明数百个虚拟机和文件夹。

【问题讨论】:

  • 你能展示你期望从那组数据中得到的输出吗?
  • Folder|FolderInfo 和 VM|VMInof 属性应该如何呈现在 CSV 中?它只能有一组列标题。

标签: arrays powershell csv vmware powercli


【解决方案1】:

我知道这个问题,但没有真正的解决方案。 但作为解决方法,您可以使用 "$row3.VM \ $row3.VMInfo" | Out-File -append -path "c:\temp\testy.csv" 在每个人的内部,并将数据手动写入为 csv。

【讨论】:

  • 我最终解决了这个问题,将所有变量放在一个超级行中,只填充我需要的内容
猜你喜欢
  • 1970-01-01
  • 2018-06-22
  • 2017-07-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-27
  • 2014-03-22
  • 2015-05-31
相关资源
最近更新 更多