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

mac2024-08-22  67

在上一篇的基础上进一步改进,当时未考虑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为最后的数据合并集合。

欢迎各位大佬补充。

最新回复(0)