我试图将几个.csv文件(具有相同的列)加载到不同目录的同一个数组中。
$csv1 = Import-Csv "PATH1"
$csv1 = Import-Csv "PATH2"
$csv1 | Export-Csv C:\test.csv
这只输出最后加载的.csv,这是最好的方法吗?
答案 0 :(得分:2)
如有疑问,请阅读documentation。 Import-Csv
cmdlet接受一个路径字符串数组作为输入,因此您需要做的就是(假设所有CSV具有相同的字段)是这样的:
$src = 'C:\path\to\input1.csv', 'C:\path\to\input2.csv', ...
$dst = 'C:\path\to\output.csv'
Import-Csv $src | Export-Csv $dst -NoType
如果您想要一个包含源文件路径的附加列,则需要执行一些额外的步骤:
$src | ForEach-Object {
$path = $_
Import-Csv $path | Select-Object *,@{n='Path';e={$path}}
} | Export-Csv $dst -NoType