这应该可行。它是逗号分隔的数据。我不知道您是否希望根据您的问题进行管道分隔,或者是否出于演示目的。我也无法判断临时命名法是否是您想要的列的新值,或者它是否已经是每个文件中每个列的名称。它假定您的数据中没有逗号。
$CSV1 = Get-Content csv1.csv
$CSV2 = Get-Content csv2.csv
$CSV3 = Get-Content csv3.csv
$CSV4 = Get-Content csv4.csv
$CSV5 = Get-Content csv5.csv
$MostRows = ($CSV1.count,$CSV2.count,$CSV3.count,$CSV4.count,$CSV5.count | Sort-Object -Descending)[0]
$Output = For ($i = 0; $i -lt $MostRows; $i++) {
$CSV1[$i],$CSV2[$i],$CSV3[$i],$CSV4[$i],$CSV5[$i] -Join ","
}
$Output | Set-Content NewCSV.csv
这是一种使用对象并保护数据中逗号的替代方法。这将使用您的临时命名法作为列名。这可以通过更新哈希表中的名称手动调整为您喜欢的任何内容。
$CSV1 = Get-Content csv1.csv
$CSV2 = Get-Content csv2.csv
$CSV3 = Get-Content csv3.csv
$CSV4 = Get-Content csv4.csv
$CSV5 = Get-Content csv5.csv
$MostRows = ($CSV1.count,$CSV2.count,$CSV3.count,$CSV4.count,$CSV5.count | Sort-Object -Descending)[0]
$Output = For ($i = 0; $i -lt $MostRows; $i++) {
[pscustomobject][ordered]@{"temp1"=$CSV1[$i];"temp2"=$CSV2[$i];"temp3"=$CSV3[$i];"temp4"=$CSV4[$i];"temp5"=$CSV5[$i]}
}
$Output | Export-CSV NewCSV.csv -notypeinformation