【问题标题】:Appending a CSV file to end of another using PowerShell使用 PowerShell 将 CSV 文件附加到另一个文件的末尾
【发布时间】:2017-07-08 03:49:29
【问题描述】:

我有两个列结构相同的 CSV 文件; A.csv 和 B.csv

我正在寻找一种 PowerShell 方法将 B.csv 附加到 A.csv 的末尾,不带标题。

【问题讨论】:

    标签: powershell csv


    【解决方案1】:

    你可以试试:

    Import-Csv a.csv, b.csv | Export-Csv c.csv -notype 
    

    【讨论】:

    • 这会在添加到 a.csv 之前从 b.csv 中删除标题吗?
    • 是的,它会,解释是Import-Csv 读取文件a.csvb.csv 的行并转换对象中的每一行,然后将所有对象写入c.csv文件。
    【解决方案2】:

    为简单起见,我建议使用Import-Csv | Export-Csv 回答。请注意,在没有必要时将两个(可能很大)文件都解析为 CSV 可能效率不高。

    这个例子没有对文件的结构做任何假设,只取文件 2(没有第一行)并将其附加到文件 1:

    Get-Content .\file2.txt | where ReadCount -gt 1 >> .\file1.txt
    

    【讨论】:

    • 这个答案可能会受益于有关命令的where ReadCount -gt 1 部分的更多解释。
    【解决方案3】:

    @JPBlanc's answer 的变体:

     $files=@("C:\temp\test\a.csv", "C:\temp20170219\test\b.csv")
     import-csv $files | export-csv -NoType "c:\temp\c.csv"
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-06-15
      • 2012-01-17
      • 1970-01-01
      • 1970-01-01
      • 2012-06-21
      • 2021-09-07
      • 1970-01-01
      相关资源
      最近更新 更多