我正在使用 export-csv 命令从 powershell 导出数据。一切正常(我已经使用调试器逐步完成并查看 csv 文件中的数据更改)唯一的问题是数据只是一遍又一遍地写入第 1 行。我怎样才能让它每行写一行数据(我正在使用foreach循环)?
问问题
5486 次
1 回答
1
除非您有 PS 3.0,否则您不能使用Export-CSV
附加到文件。前任:
$mylist | Foreach {
#Export item til csv.
$_ | Export-CSV myfile.csv -notypeinformation
}
这将每次覆盖 csv 文件,因此它始终包含一个对象,这会导致 csv 文件包含标题和循环中的 LAST 对象。
使用 PowerShell 3.0,您可以-Append
像这样使用开关:
$mylist | Foreach {
#Export item til csv.
$_ | Export-CSV myfile.csv -notypeinformation -append
}
如果您没有 PowerShell 3.0,则需要手动创建 csv-output 并out-file -append
在循环中使用类似的东西,或者同时导出整个数组(推荐),例如:
$mylist | Select Name, Age | Export-CSV myfile.csv -notypeinformation
在导出到 csv 之前,我用Select-object
上面的方法以正确的顺序选择了我想要的属性。
于 2013-08-25T10:27:52.930 回答