1

我有一个 CSV,我想在数组对象中处理并导出为另一个 CSV。但是,当我这样做时,它不是复制数组的值,而是复制对象的属性。

"Length","LongLength","Rank","SyncRoot","IsReadOnly","IsFixedSize","IsSynchronized","Count"
"52","52","1","System.Object[]","False","True","False","52"

如何解决这个问题?

编辑

导致这种情况的代码:

Export-Csv $data test.csv

$data存储 import-csv 输出的数组在哪里。

4

1 回答 1

1

显然-InputObject成为 PowerShell v6 中的位置参数,否则您发布的代码应该会引发错误

Export-Csv:无法绑定参数“分隔符”。无法将值“test.csv”转换为类型“System.Char”。错误:“字符串必须恰好是一个字符长。”

无论如何,您发布的代码正在有效运行

Export-Csv -InputObject $data -Path test.csv

但是,该参数-InputObject采用单个 PSObject 参数,而不是 PSObject 数组。如果将数组传递给它,则 CSV 输出是从该数组对象创建的,而不是从数组的元素创建的。

管道数组以Export-Csv从数组元素创建输出:

$data | Export-Csv -Path test.csv -NoType
于 2019-11-14T11:45:45.433 回答