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

使用Python合并多份Excel文件至主文件,避免重复值

实现思路

1. 文件读取与准备

  • 用pandas库读取主文件并转为DataFrame,先确定唯一标识列(比如项目ID、专属编号这类能定位同一项目的字段),后续靠它匹配不同文件里的同一项数据
  • 逐个读取子文件,同样转为DataFrame,保留好对应的唯一标识列

2. 核心匹配填充操作

  • 先过滤子文件的列:只保留主文件中存在的列,多余列直接剔除,比如用df_sub = df_sub[list(main_df.columns)]
  • 用pandas的update()方法实现精准填充:先把子文件按唯一标识列设为索引,再执行main_df.update(df_sub.set_index('唯一标识列'))。这个操作会自动按唯一标识匹配行,用子文件的非空值覆盖主文件对应位置的内容,不会新增重复行,也不会乱填无关列
  • 如果需要用多列组合作为唯一匹配键,就把这些列一起设为联合索引,比如main_df.set_index(['列A','列B'], inplace=True),子文件做同样处理后再执行update

3. 特殊场景处理

  • 子文件含主文件没有的新项目:如果需要新增这些项目,先筛选出主文件中不存在的行,用pd.concat([main_df, new_rows])追加到主文件后再做填充;不需要的话直接跳过这些行
  • 空值处理:提前清洗子文件的空值,比如用df_sub.fillna('')或按业务逻辑填充,避免空值覆盖主文件里的有效数据

4. 结果保存

  • 所有子文件处理完成后,将更新后的主DataFrame保存为Excel文件,用main_df.to_excel('最终主文件.xlsx', index=False),避免把索引列写入文件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 14:35:21