Powershell 合并CSV文件

Powershell 合并CSV文件,powershell,csv,Powershell,Csv,我正在尝试将多个CSV文件合并成一个大的CSV文件。我编写了一个powershell脚本,成功地为每个标记名创建了单独的csv文件。但是当在最后添加Get Content时,我得到以下错误: Get-Content : An object at the specified path C:\HTD2CSV\Output_Files\*.CSV does not exist, or has been filtered by the -Include or -Exclude parameter. A

我正在尝试将多个CSV文件合并成一个大的CSV文件。我编写了一个powershell脚本,成功地为每个标记名创建了单独的csv文件。但是当在最后添加
Get Content
时,我得到以下错误:

Get-Content : An object at the specified path C:\HTD2CSV\Output_Files\*.CSV does not exist, or has been filtered by the
 -Include or -Exclude parameter.
At C:\HTD2CSV\extract.ps1:30 char:20
+ $temp = Get-Content <<<<  "$destinationPath\*.CSV" #| Set-Content $destinationPath\merged.CSV
    + CategoryInfo          : ObjectNotFound: (System.String[]:String[]) [Get-Content], Exception
    + FullyQualifiedErrorId : ItemNotFound,Microsoft.PowerShell.Commands.GetContentCommand

不要使用
获取内容
/
设置内容
来合并CSV(假设您确实有CSV,而不仅仅是特殊命名的平面文本文件)。使用
导入Csv
导出Csv

Get-ChildItem '*.csv' | % {
  Import-Csv $_.FullName | Export-Csv 'C:\path\to\merged.csv' -NoType -Append
}
或者像这样(为了避免附加):


只要标题相同,那么使用ex.
-Skip 1进行简单的文本合并以避免重复的标题会快得多
Import CSV
需要创建大量对象。我刚刚将这些对象添加到脚本中,但我没有看到output_files文件夹中显示merged.CSV。我刚刚发现Powershell不理解参数“Append”。我使用的是Powershell 2.0.Frode F。这是一个很好的观点。你所有的CSV文件都有相同的标题行吗?@AnsgarWiechers它是由相同的软件通过计算机生成的CSV。它们通常在所有文件中使用相同的格式:)它们甚至没有标题这一事实使它变得更好,因为在组合文件时,您不必担心只保留一个标题副本。
Get-ChildItem '*.csv' | % {
  Import-Csv $_.FullName | Export-Csv 'C:\path\to\merged.csv' -NoType -Append
}
Get-ChildItem '*.csv' | % { Import-Csv $_.FullName } |
  Export-Csv 'C:\path\to\merged.csv' -NoType