Export-Csv 和 Array 对象

Export-Csv and Array objects

我有一个要在数组对象中处理并导出为另一个 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 输出的数组。

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

Export-Csv : Cannot bind parameter 'Delimiter'. Cannot convert value "test.csv" to type "System.Char". Error: "String must be exactly one character long."

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

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

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

将数组通过管道传输到 Export-Csv 以从数组元素创建输出:

$data | Export-Csv -Path test.csv -NoType