You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Python对比两个Excel文件,提取主文件无匹配的交易行至新文件

用Python对比Excel交易编号并生成新文件

所需工具

我们用pandas库处理Excel文件,它对新手友好且效率高。先安装依赖:

pip install pandas openpyxl

完整代码(带注释)

import pandas as pd

# 1. 读取主文件File1,提取唯一交易编号集合
# 若File1有表头(第一行是列名)用下面这行;无表头则添加参数header=None
file1 = pd.read_excel("File1.xlsx")
# 提取第二列的交易编号(索引从0开始,第二列对应索引1),转成集合提升查找速度
master_trade_ids = set(file1.iloc[:, 1])

# 2. 读取原始交易数据File2
# 无表头同样添加header=None
file2 = pd.read_excel("File2.xlsx")

# 3. 筛选File2中不在主文件里的交易行
# 把X替换成File2中交易编号所在的列索引(比如第三列就写2)
# ~符号表示"取反",即保留编号不在master_trade_ids里的行
filtered_data = file2[~file2.iloc[:, X].isin(master_trade_ids)]

# 可选:如果需要去除File2中重复的交易编号行(保留首次出现的)
# filtered_data = filtered_data.drop_duplicates(subset=file2.columns[X])

# 4. 将筛选结果保存为File3
# index=False表示不把行索引写入Excel
filtered_data.to_excel("File3.xlsx", index=False)

关键说明

  • 文件路径:把代码里的"File1.xlsx"等替换成你的实际文件路径,比如Windows桌面路径是"C:/Users/你的用户名/Desktop/File1.xlsx",Mac是"/Users/你的用户名/Desktop/File1.xlsx"
  • 列索引确认:确认交易编号在文件中的列位置,第一列是0,第二列是1,以此类推,别写错索引
  • CSV文件适配:如果你的文件是CSV格式,把read_excel换成read_csv,to_excel换成to_csv即可

内容的提问来源于stack exchange,提问作者user22220347

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 12:25:10