Python将多个Excel的sheet分别合并到一个Excel的不同sheet

        在工作中,我们会遇到这样一个问题,将指定文件目录下的excel文件进行合并,如果手工去操作,大大降低了效率,使用python处理数据无疑是最简单的操作方式。

整体思路

(1)构建一个空的excel文件,然后循环数据源目录下文件名称。
(2) 获取每个excel工作簿里面的sheet子表名称列表,然后一一读取 
(3) 保存到新建的DataFrame中

具体代码:

import pandas as pd 
import numpy as np
import os 
os.chdir(r"E:\old\工作\工作记录\预测\类目销量预测\2020-05-01\数据源汇总\数据源")  #定义工作目录
path =r"E:\old\工作\工作记录\预测\类目销量预测\2020-05-01\数据源汇总\数据源"

list_dir = [ i for i in os.listdir(path) ] # 获取指定目录下的所有文件列表

# 创建空的excel文件
fin_file = "../预测数据源汇总.xlsx"

writer = pd.ExcelWriter(fin_file)  
for file_name  in  list_dir:
    sheet_list = list(pd.read_excel(os.path.join(path,file_name),sheet_name=None))  # 文件sheet页
    for s_name in sheet_list:
        data = pd.read_excel(os.path.join(path,file_name),sheet_name =s_name)
        data.to_excel(writer,sheet_name = s_name,index = False)
writer.save() # 保存文件
writer.close()  # 关闭文件并退出

效果展示:(已实现将所有数据存放在一个工作簿上~)

Python将多个Excel的sheet分别合并到一个Excel的不同sheet_第1张图片

 

你可能感兴趣的:(excel,pandas,数据分析)