You need to enable JavaScript to run this app. Python对比两个Excel表格删除共有值后导出CSV的代码问题求解
优惠活动
大模型
产品
解决方案
定价
更多

Python对比两个Excel表格删除共有值后导出CSV的代码问题求解

原有代码问题排查
  • 循环删除索引偏移:遍历使用的是表的原始长度,删除行后剩余行索引会自动前移,导致后续循环跳过部分待检测行,无法删全所有重复项
  • 嵌套循环效率极低:两层循环的时间复杂度为O(n*m),数据量稍大就会运行缓慢
  • 频繁执行导出操作:每次命中重复项就写入一次CSV,属于完全无效的IO操作
优化实现代码
import pandas as pd

# 读取两个Excel文件
data_1 = pd.read_excel(r'names1.xlsx')
data_2 = pd.read_excel(r'force_names.xlsx')

# 提取第二张表的待排除姓名列表
exclude_names = data_2['FullName'].tolist()

# 批量筛选出第一张表中不存在于排除列表的记录
filtered_data = data_1[~data_1['Full_Name'].isin(exclude_names)]

# 导出最终结果到CSV
filtered_data.to_csv(r"/Users/name/Desktop/Reports/Names.csv", index=False, encoding='utf-8-sig')
代码说明
  • 用pandas内置isin()方法做批量匹配,替代嵌套循环,运行效率提升显著
  • 采用反向筛选逻辑代替逐行删除,完全规避索引偏移问题,所有重复姓名会被一次性排除
  • index=False参数控制导出时不额外添加pandas自动生成的行索引列,encoding='utf-8-sig'解决中文在Windows系统下打开CSV乱码的问题,不需要可以删除

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 21:33:03