如何用Python批量合并同格式Excel文件为汇总矩阵?
用Python批量汇总Excel模板文件为矩阵表
所需依赖
先安装必要的Python库:
pip install pandas openpyxl
核心实现代码
假设每个Excel文件的结构是第一列为类别(如Name、Sex、Age),第二列为对应值,以下代码可快速完成汇总:
import pandas as pd import os from glob import glob # 替换为你的Excel文件所在文件夹路径 folder_path = "./person_files" # 初始化存储所有数据的列表 all_records = [] # 精准匹配所有person_*.xlsx文件 for file_path in glob(os.path.join(folder_path, "person_*.xlsx")): # 读取Excel,将类别列设为索引 df = pd.read_excel(file_path, index_col=0, header=None) # 转置为一行数据(将类别转为列名,值对应填入) single_record = df.T all_records.append(single_record) # 合并所有数据为一个矩阵表 summary_df = pd.concat(all_records, ignore_index=True) # 保存汇总结果到新Excel文件 summary_df.to_excel("人员信息汇总矩阵.xlsx", index=False)
适配不同文件结构的调整
如果你的Excel文件是表头在第一行,数据仅一行(比如第一行是Name、Sex、Age,第二行是对应值),只需修改读取部分的代码:
# 替换原读取代码为: df = pd.read_excel(file_path) single_record = df.head(1) # 取第一行数据
注意事项
- 确保所有Excel文件的类别/列名完全一致,否则汇总后会出现缺失值,可通过
summary_df.fillna("未知", inplace=True)统一填充缺失内容。 glob("person_*.xlsx")的匹配规则可避免处理文件夹内的无关xlsx文件。- 400个文件的处理速度较快,无需担心性能问题。
内容的提问来源于stack exchange,提问作者Pablo Luz
相关产品推荐
相关产品推荐

