【问题标题】:Comparing 2 CSV files in Powershell and output the differences在 Powershell 中比较 2 个 CSV 文件并输出差异
【发布时间】:2021-01-01 08:14:18
【问题描述】:

以下问题:

我们有 2 个 csv 文件,它们之间存在一些差异。 现在我们想通过一个已经包含在两个文件中的唯一数字来比较这两者,并将发现差异的行(该行中的任何地方)输出到包含标题的单独 csv 中。所有这些都应该在 Powershell 中完成。重要的是输出文件与我们正在比较的文件具有完全相同的格式。此外,我们的 csv 文件共有约 90 个单元格宽度和约 1000 行。

有人知道这是怎么工作的吗?

【问题讨论】:

  • 欢迎来到 SO。请注意,SO 不是免费代码服务。我建议您使用一个小的 CSV 文件和 PS 的 CSV cmdlet。您会很快发现 PS 将线条转换为对象,您可以通过各种方式对其进行检查。
  • 您到底想要输出什么?如果给定对象存在差异,您是否要从 File1 和 file2 输出两个实例?你想输出一个对象在一个文件实例中但不在另一个文件实例中的实例吗?由于您是新手,您可能会发现阅读How do I ask a good question 会有所帮助

标签: excel powershell csv compare output


【解决方案1】:

您可以尝试导入两个 csv 文件并将其与 Compare-Object 进行比较,如下所示:

$CSV1 = "Path to CSV1"
$CSV2 = "Path to CSV2"

$ImportedCSV1 = Import-Csv $CSV1
$ImportedCSV2 = Import-Csv $CSV2

Compare-Object -ReferenceObject $CSV1 -DifferenceObject $CSV2

【讨论】:

    猜你喜欢
    • 2022-10-13
    • 1970-01-01
    • 1970-01-01
    • 2014-06-08
    • 2022-01-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多