【办公自动化实例】使用python将多个excel文件中的多个sheet表合并到一个表内

文章目录

        • 一、需求
        • 二、处理方式
        • 三、代码实现

一、需求

将多个excel文件中的多个sheet表合并到一个工作簿内,参考例子如图:
【办公自动化实例】使用python将多个excel文件中的多个sheet表合并到一个表内_第1张图片

二、处理方式

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)

你可能感兴趣的:(办公自动化,python,pandas,数据分析)