我想在我的本地文件夹中组合所有csv文件,但它显示空结果。我试图获取第一个文件的标题并跳过文件夹中其余文件的所有标题并加入它们。
get-childItem "C:\Users\*.csv" | foreach {[System.IO.File]::AppendAllText
("C:\Users\finalCSV.csv", [System.IO.File]::ReadAllText($_.FullName))}
$getFirstLine = $true
get-childItem "C:\Users\*.csv" | foreach {
$filePath = $_
$lines = $lines = Get-Content $filePath
$linesToWrite = switch($getFirstLine) {
$true {$lines}
$false {$lines | Select -Skip 1}
}
$getFirstLine = $false
Add-Content "C:\Users\finalCSV.csv" $linesToWrite
}
我的最终结果是,当我打开finalCSV.csv
时,它没有显示结果。
答案 0 :(得分:0)
我认为您正试图过度使用您的解决方案。只需使用Import-Csv并附加到数组即可。像这样:
$a = @(); ls *.csv | % {$a += (Import-Csv $_.FullName)}; $a
即使列的顺序不同,也能正常工作。