【Python】Python 读取Excel、DataFrame对比并选出差异数据,重新写入Excel

背景:我在2个系统下载出了两个Excel,现在通过对下载的2个Excel数据,并选出差异数据 从新写入一个新的Excel中

在这里插入图片描述


differences_url =r'C:\Users\LENOVO\Downloads\differences.xlsx'; //要生成的差异Excel的位置及名称
df1_url =r'C:\Users\LENOVO\Downloads\excel1.xlsx'; //要对比的源Excel1
df2_url =r'C:\Users\LENOVO\Downloads\excel2.xlsx';//要对比的源Excel2
# 步骤1: 读取两个Excel文件
df1 = pd.read_excel(df1_url)
df2 = pd.read_excel(df2_url)

# 打印读取的数据
print("File 1 Data:")
print(df1)
print("\nFile 2 Data:")
print(df2)


# 假设要比较的列是 '入库通知单号' 和 '来源平台'
comparison_columns = ['入库通知单号', '来源平台']

# 合并两个 DataFrame,在相同 入库通知单号 上进行比较
df_merged = df1.merge(df2, on='入库通知单号', suffixes=('_file1', '_file2'), how='outer')
print("========>")
#df_merged.to_excel(r'C:\Users\LENOVO\Downloads\df_merged.xlsx', index=False)

# 通过"入库通知单号"字段关联后,比对两个Excel中的"来源平台"字段找到不同的数据
differences = df_merged[(df_merged['来源平台_file1'] != df_merged['来源平台_file2']) | 
                        (df_merged['来源平台_file1'].isnull() | df_merged['来源平台_file2'].isnull())]

# 打印比较结果
print("Differences between the two files:")
print(differences)

# 检查文件是否存在  
if os.path.exists(differences_url):  
    # 如果文件存在,则删除它  
    os.remove(differences_url)  
    print(f"文件 {differences_url} 已存在,已被删除。") 

# 将比较结果输出到 Excel 文件
differences.to_excel(r'C:\Users\LENOVO\Downloads\differences.xlsx', index=False)


测试:
两个源Excel
在这里插入图片描述

excel1和excel2的都是一样的数据
在这里插入图片描述

对比后产生差异Excel
在这里插入图片描述
差异中差异数据是空的
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

执键行天涯

码你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值