快速对比两个Excel表格的差异方法与工具

Posted by

实用场景:什么时候需要对比两个Excel

在日常开发或数据校验中,常遇到excel 查询两张表 中 不同的数据excel核对两列数据是否一致等问题。作为一个从事数据对接和自动化的开发者,我经常需要把两份报表做差异对比,定位新增、删除或修改的记录。

方法一:用Python(pandas)快速对比两个表

我喜欢用Python自动化,下面给出一个常见的示例,演示如何找出两个Excel表中的不同和相同记录:

import pandas as pd

# 读取两个表(可换成sheet名或文件路径)
df1 = pd.read_excel('table1.xlsx')
df2 = pd.read_excel('table2.xlsx')

# 假设以 'id' 列为主键进行对比
merged = df1.merge(df2, on='id', how='outer', indicator=True)

# 标记新增、删除、相同
added = merged[merged['_merge'] == 'right_only']
deleted = merged[merged['_merge'] == 'left_only']
same = merged[merged['_merge'] == 'both']

print('新增行:', len(added))
print('删除行:', len(deleted))
print('相同行:', len(same))

为什么用这种方式?

这种通过 merge + indicator 的做法,可以快速回答“如何比较两个excel的差异”和“excel两个表格数据对比”等问题,并且容易扩展到复杂的多列对比。

方法二:用可视化工具快速对比(案例演示)

如果你不想写代码,推荐试试在线工具,这里以 nimail 的 Excel Compare 为例。该工具能做到:

  • 直接上传两个Excel文件并可视化展示差异(对比两个excel表数据差异)。
  • 支持按主键匹配,快速找出excel教程 快速找出不同表格中相同的内容,也能导出结果。
  • 适合非开发人员或想马上得到对比报告的场景(属典型的excel对比工具)。

示例对比表格(视觉化示意)

id 表Aname 表Aid 表Bname 表B状态
1张三1张三相同
2李四2李四改内容不同
3王五表A独有
4赵六表B独有

上表是一个典型的excel比较两个表格内容是否一样的可视化输出:通过主键对齐,再比对每列值,就能得到“相同、修改、新增、删除”四类状态。

一些实战建议(作为开发者的经验)

  • 尽量先规范主键字段,避免用模糊匹配;这会让怎么对比两个excel文档的数据差异更可靠。
  • 对大量数据使用脚本(如以上Python示例),可以把对比过程自动化并生成差异报告。
  • 当需要多人复核时,选择能导出带颜色标记的Excel或CSV的工具,便于沟通。

如果你愿意,我可以根据你的两张表给出更具体的对比脚本或配置示例(例如如何处理空值、日期格式差异、列名映射等)。

Leave a Reply