快速对比两个excel 文件,A文件1,2,3列,B文件4,5,6列做对比,生成相同数据合差异数据结果
时间: 2024-04-13 12:29:24 浏览: 92
两列数据互相列出差异(两列号码互相对比差异).xls
4星 · 用户满意度95%
要快速对比两个Excel文件,并生成相同数据和差异数据的结果,可以使用Python中的pandas库来处理Excel文件。下面是一个示例代码:
```python
import pandas as pd
# 读取Excel文件A和B
df_a = pd.read_excel('file_a.xlsx')
df_b = pd.read_excel('file_b.xlsx')
# 按照1、2、3列进行合并
df_merged = pd.merge(df_a, df_b, on=['col1', 'col2', 'col3'], how='outer', suffixes=('_a', '_b'))
# 获取相同数据(inner join)
df_same = df_merged.dropna()
# 获取差异数据(left join)
df_diff = df_merged[df_merged.isnull().any(axis=1)]
# 保存相同数据和差异数据到新的Excel文件
with pd.ExcelWriter('result.xlsx') as writer:
df_same.to_excel(writer, sheet_name='Same Data', index=False)
df_diff.to_excel(writer, sheet_name='Different Data', index=False)
```
在上述代码中,假设文件A和文件B的列分别为col1、col2、col3和col4、col5、col6。首先使用`pd.read_excel`函数读取两个Excel文件,然后使用`pd.merge`函数按照1、2、3列进行合并,使用`how='outer'`表示使用外连接。
接下来,通过`dropna()`函数获取相同数据,即删除存在空值的行;通过`isnull().any(axis=1)`获取差异数据,即至少有一个空值的行。
最后,使用`pd.ExcelWriter`和`to_excel`函数将相同数据和差异数据保存到新的Excel文件中。
请注意,你需要根据实际的Excel文件列名进行相应的修改,并确保安装了pandas库。
阅读全文