import os
import xlrd
import xlsxwriter
import pandas as pd
from pandas import DataFrame
import openpyxl
outputfile = r'……'#修改项
writer=pd.ExcelWriter(outputfile, engine='openpyxl')
root = r'……'#修改项
targetnames = [x for x in os.listdir(root) if x.endswith(".xlsx")]
sheetnamelist = []
for targetname in targetnames:
wb = xlrd.open_workbook(os.path.join(root,targetname))
sheets = wb.sheet_names()
sheetnamelist.append(sheets)
data = DataFrame()
for i in range(len(targetnames)):
for n in sheetnamelist[i]:
print(n)
df = pd.read_excel(os.path.join(root,targetnames[i]), sheet_name=n)
data = data.append(df)
data.to_excel(excel_writer=writer,sheet_name='merged',encoding='utf-8',index=False)
writer.save()
writer.close()
print('合并多excel多sheet完成!')
本文介绍了一种使用Python批量合并多个Excel文件中所有Sheet的方法。通过读取指定目录下所有.xlsx文件,将每个文件中的所有工作表数据整合到一个Excel文件的'merged'工作表中,实现了高效的数据整合。

773

被折叠的 条评论
为什么被折叠?



