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