一、需求

将多个excel文件中的多个sheet表合并到一个工作簿内,参考例子如图:
在这里插入图片描述

二、处理方式
1、通过os模块遍历文件,提取获取xlsx文件的路径和文件名;
2、通过pandas模块的ExcelWriter函数,实现excel文件的追加写入;
注:
	1、python版本 3.8
三、代码实现
import pandas as pd
import os
ls = []
for dirpath,dirname,files in os.walk(r'D:\pythontest\20220705'):
    for file in files:
        if file.endswith('xlsx'):
            # 为防止文件与代码不在同一个路径时出错,组合绝对路径
            ls.append(dirpath+'\\'+file)
            
# pd.ExcelWriter 函数可以追加写入
sheetname_list = []
with pd.ExcelWriter(r'D:\pythontest\20220705\test.xlsx',mode='w+') as xlsx:
    for file in ls:
        df = pd.read_excel(file,sheet_name=None)
        # 获取excel 的表名称
        sheet_names = df.keys()
        # 循环获取每个表的内容,并写入文件中
        for sheet_name in sheet_names:
            if sheet_name in sheetNamelist:
                name = sheet_name+'_1'
            else:
                name = sheet_name
            sheetname_list.append(name)
            df1 = pd.read_excel(file,sheet_name=sheet_name)
            df1.to_excel(xlsx,sheet_name=name,index=False)
Logo

一站式 AI 云服务平台

更多推荐