pandas 批量合并Excel文件

 版本1: 合并所有文件的所有sheet页

import pandas as pd
import os

file_path="文件目录"

box=[]
for file in os.listdir(file_path):
    if str(file).endswith("xlsx") or str(file).endswith("xls"):  #判断文件格式
        f=pd.ExcelFile(os.path.join(file_path,file)) # 读取文件,获取所有sheet页
        for sheet in f.sheet_names: # 遍历每个sheet页
            df=pd.read_excel(os.path.join(file_path,file),sheet_name=sheet,dtype="str")
            df["文件名"]=file
            df["sheet名称"]=sheet
            box.append(df)
print("汇总完成!")
result=pd.concat(box)
result.to_excel("处理结果.xlsx",index=None)
print("导出成功")

 版本2:合并所有文件的第一个sheet

import pandas as pd
import os

file_path="文件目录"

box=[]
for file in os.listdir(file_path):
    if str(file).endswith("xlsx") or str(file).endswith("xls"):
        df=pd.read_excel(os.path.join(file_path,file),dtype="str")
        df["文件名"]=file
        box.append(df)
print("汇总完成!")
result=pd.concat(box)
result.to_excel("处理结果.xlsx",index=None)
print("导出成功")

 

posted @ 2022-09-10 16:05  人人从众  阅读(172)  评论(0编辑  收藏  举报