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("导出成功")