Python合并excel,合并sheet插页,且sheet命名毫无规律的情况

在上一篇的基础上进一步改进,当时未考虑sheet插页在不同的excel表里或有或无的情况
主要就是引入了 while… try… except… 的机制
#%%
import numpy as np
import pandas  as pd

import os

path = 'E:\\工作台\\file\\'
os.chdir(path) #定义工作路径

#%%
'''
一人多笔插页的加载
'''
   

def get_excel(path,sheet):

    i = 0    
    datas = []
    path_lst = os.listdir(path)  #创建文件列表
    
    while i <= len(path_lst):
        try:
            data = pd.read_excel(path_lst[i],
                                 sheet_name=sheet1,
                                 header=0,
                                 sep=',',
                                 dtype=np.str)
            datas.append(data)
            i +=1
        except Exception as e:  #当报错时就跳过这一个excel,i自动加1,并继续读取下一个表,直到循环结束
            i +=1
            continue   
    return datas 

sheet1 = '省份' #定义sheet插页变量
df1 = get_excel(path,sheet1)

for i in range(len(df1)):
    lst = 'df1[%i]' % i
    print(lst,end=',')
#%%
res_sheet1 = pd.concat([
     df1[0],df1[1],df1[2],df1[3],df1[4],df1[5],df1[6],df1[7]
    ])
#第一个sheet的合并完成
    
'''
其余插页,再一一赋值sheet变量,依次调用函数,依次获取分表的name标签用于最后的
合并拼接
'''

在这里插入图片描述
图片说明:path_lst 为excel文件列表,其中两个没有‘省份’的sheet插页,df1即是加载后dataframe列表集,res_sheet1为最后的数据合并集合。

欢迎各位大佬补充。

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值