Python批量合并Excel文件可以通过pandas
库高效实现,核心步骤包括:读取多个文件、数据整合(纵向或横向)、输出为单一文件。 该方法支持灵活处理格式差异,适合报表汇总、数据分析等场景。
-
准备工作
安装pandas
和openpyxl
(处理.xlsx格式):pip install pandas openpyxl
确保待合并的Excel文件结构一致(如列名相同),若存在差异需提前清洗或指定合并规则。
-
纵向合并(相同结构)
使用pandas.concat()
将多个文件的行数据叠加:import pandas as pd import glob files = glob.glob("path/*.xlsx") # 获取所有Excel文件 df_list = [pd.read_excel(f) for f in files] result = pd.concat(df_list, ignore_index=True) result.to_excel("merged.xlsx", index=False)
-
横向合并(关联字段)
若需按某列关联(如ID),用pd.merge()
:df1 = pd.read_excel("file1.xlsx") df2 = pd.read_excel("file2.xlsx") result = pd.merge(df1, df2, on="ID", how="outer") # 根据需求选inner/left/right
-
处理复杂场景
- 分表合并:若单个文件含多Sheet,用
pd.ExcelFile()
遍历; - 格式转换:合并后输出为CSV或数据库,提升后续处理效率。
- 分表合并:若单个文件含多Sheet,用
批量合并Excel是Python自动化办公的典型应用,通过调整代码可适配不同需求,大幅减少重复操作。 建议先小规模测试再处理核心数据。