使用PowerShell合并两个csv文件(头文件和数据文件)

使用PowerShell合并两个csv文件(头文件和数据文件),powershell,csv,Powershell,Csv,CSV文件1头文件: 标题1,标题2,标题3 CSV文件2数据文件: 数据记录1,数据记录2,数据记录3 文件1仅包含标题,而文件2包含与文件1中的标题相对应的数据。 是否可以通过PowerShell脚本将文件2中的数据附加到文件1中的标题,使文件2或新文件现在看起来像: 输出CSV文件 标题1,标题2,标题3 数据记录1,数据记录2,数据记录3 关于问题格式,请先在此处发布。如果您有任何帮助,将非常感激,提前谢谢您 $Headers = (Get-Content csv1.csv).Split

CSV文件1头文件:

标题1,标题2,标题3

CSV文件2数据文件:

数据记录1,数据记录2,数据记录3

文件1仅包含标题,而文件2包含与文件1中的标题相对应的数据。 是否可以通过PowerShell脚本将文件2中的数据附加到文件1中的标题,使文件2或新文件现在看起来像:

输出CSV文件 标题1,标题2,标题3

数据记录1,数据记录2,数据记录3

关于问题格式,请先在此处发布。如果您有任何帮助,将非常感激,提前谢谢您

$Headers = (Get-Content csv1.csv).Split(',')
$outputCSV = Import-CSV csv2.csv -Header $Headers
$outputCSV | Export-CSV output.csv -NoTypeInformation
$Headers变量存储csv1.csv文件中逗号分隔的值,该文件仅包含标题

Split方法是在每个逗号处拆分csv1.csv的内容,删除逗号,并创建这些拆分的数组

可以在拆分方法之后添加Trim,以删除逗号周围的额外空白

$outputCSV正在将csv2.csv导入为csv文件,并从$Headers数组中添加标题行

最后一个命令是将$outputCSV的内容导出到名为output.csv的新csv文件中


在导入CSV和导出CSV命令中,我提供的文件名被指定给-Path参数。如果需要,您可以完全限定这些路径,也就是说,它们不必只有文件名。

到目前为止您尝试了什么?向我们展示您的代码,我们很乐意提供帮助,但我们不会从头开始编写任何内容。Import-CSV cmdlet具有-Header参数。您可以使用Get Content读取中的第一个文件,并在第二个文件上使用Import CSV时将其用作头参数的值。这就像一个符咒!!我只是不得不删除修剪,因为CSV文件2在其生成的第三方数据中包含了相当多的空格。一旦我删除修剪-它完美地合并了数据。谢谢更新。我从答案中删除了Trim方法,并将其作为一个注释保留下来。