我有两个 CSV 文件,其中一个文件的数据略有修改。如何轻松识别更改?

我有两个 CSV 文件,其中一个文件的数据略有修改。如何轻松识别更改?

每个月,我都会收到一份包含我们客户群的 CSV 文件 - 电子邮件、职位、电话号码等。我需要识别两张表之间的变化,包括现有数据的更改以及识别新添加的人员。

我想将新工作表与旧工作表进行比较,突出显示更改,然后从那里继续。电子邮件地址是最常用的项目,我们经常使用它来查找人员。这两个工作表将始终具有相同的列,但行可能无序,这使得自动并排比较变得困难。是否可以将电子邮件地址用作起点,然后沿着突出显示不同数据的行进行操作?

我知道可以使用 VLOOKUP,但这肯定意味着手动扫描提取的数据以查看两张表中的数据是否相同。也许我在这里遗漏了什么!我发现的所有软件解决方案都会逐行比较两者,这意味着一旦添加/删除新人员并且工作表不同步,就会出错。

任何帮助,将不胜感激。

答案1

  1. 复制两个 csv 文件。
  2. 重命名刚刚制作的两个 csv 文件的扩展名,将“.csv”扩展名替换为“.txt”。
  3. 安装 WinMerge,然后在 WinMerge 中打开刚刚创建的两个新“.txt”文件。现在您可以在 WinMerge 中以图形方式查看两个 csv 文件之间的所有差异。

此屏幕截图显示了 WinMerge 中两个文件之间的差异。

合并

答案2

您需要对它们进行排序才能使用大多数 diff 工具。尝试将它们都加载到 Excel 中,按电子邮件地址对它们进行排序,再将它们导出为 CSV,然后使用 WinMerge 进行比较。

答案3

如果内容可能会发生变化,并且行可能会乱序,则需要一种方法将它们按确定的顺序排列。听起来您可以使用电子邮件地址来匹配文件之间的记录,对吗?通过电子邮件列(或任何其他可以作为数据“键”的字段)对每个 CSV 文件进行排序,然后使用 diff 工具或其他工具进行比较。

如何完成所有这些工作取决于您工具箱中的工具。我会使用 Python 和模块csv,但我相信您最喜欢的脚本语言也能胜任这项任务。

相关内容