@TOC在这里插入代码片
优点是支持多个excel合并,支持多个规律的sheet插页合并,但如果多个sheet插页毫无规律,,,还没想到。
后续sheet的读取,只需要变更sheet参数名称,调用getexcel()函数就可以了。最后再用pd.concat([])方法完成数据拼接即可
还需要注意,os先指定工作路径,与存放excel表的路径一致即可,但是千万不要在存放excel表的文件里面放其他任何文件,否则会报错。
import numpy as np
import pandas as pd
import os
path = 'D:\\excel_concat\\'
#文件路径
os.chdir(path)
def getexcel(path,sheet):
excel_df = []
for file in os.listdir(path):
data = pd.read_excel(file,
sheet_name=sheet,
header=0,
sep=',',
index_col=0,
dtype=np.str)
#datas = pd.concat([data,data])
excel_df.append(data) #所有excel都添加到列表里去
return excel_df
sheet = '省市区地址'
r = getexcel(path,sheet)
#指定sheet名称,调用函数获取数据
r_list = []
for i in range(len(r)):
lst = 'r[%i]' % i
r_list.append(lst)
for i in r_list:
i.strip("'")
print(i,end=',')
#获取待拼接的列表索引字段
r_sheet1 = pd.concat([r[0],r[1],r[2],r[3],r[4],r[5],r[6],r[7],r[8],r[9],r[10],r[11]
])
#完成拼接 需要手动复制右边的列表,省的一个一个打上去。实在是没有找到其他更好的办法
下图是代码示例