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

如何用Python合并200+个Excel文件为1-8个大文件?

问题解答

能否实现合并?

完全可以。你可以根据需求将200+个文件按数量均分(比如每25个文件合并为一个大文件),或按其他规则分组,再将每组内的Excel数据合并到同一个大文件的不同工作表(或同一工作表)中。

适合的Python开发库

  • pandas:最主流的Excel数据处理工具,语法简洁高效,能轻松完成批量读取、数据合并、写入大文件的全流程,是此类场景的首选。
    • 核心操作:用pd.read_excel()读取指定工作表数据;用pd.concat()合并多表数据(若需合并到同一工作表);用pd.ExcelWriter()实现多工作表的大文件写入。
    • 示例代码片段:
      import pandas as pd
      from pathlib import Path
      
      # 假设已整理好的文件路径与工作表名列表:[(文件路径, 工作表名), ...]
      file_sheet_pairs = [("data_01.xlsx", "SheetA"), ("data_02.xlsx", "SheetB")]
      # 按每25个文件为一组拆分,最终生成8个左右的大文件
      file_groups = [file_sheet_pairs[i:i+25] for i in range(0, len(file_sheet_pairs), 25)]
      
      # 批量合并每组文件到一个大Excel
      for group_idx, group in enumerate(file_groups, start=1):
          with pd.ExcelWriter(f"merged_{group_idx}.xlsx") as writer:
              for file_path, sheet_name in group:
                  df = pd.read_excel(file_path, sheet_name=sheet_name)
                  # 将每个源表保存为大文件的独立工作表,表名用源文件名称区分
                  df.to_excel(writer, sheet_name=f"src_{Path(file_path).stem}", index=False)
      
  • openpyxl:专注于读写Excel 2010+(.xlsx)格式的底层库,适合需要精细控制Excel格式、样式或工作表结构的场景,也可与pandas配合使用以扩展功能。
  • xlrd/xlwt:仅适用于旧版Excel(.xls)文件的读写,其中xlrd已停止对.xlsx格式的支持,若没有旧格式文件需求,无需优先考虑。

关键注意事项

  • 处理超大量文件时,建议分批次读取合并,避免一次性加载过多数据导致内存溢出。
  • 若源文件存在列名不一致、数据格式差异的情况,需先完成数据清洗对齐,再执行合并操作。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.15 00:35:25