现有一个excel表格,其中包含多个sheet,需要将这些sheet的内容进行合并。
不同sheet的列名有相同的也有不同的
不同列名的列的内容性质可能是一致的,并需要将他们拼接起来。
使用的concat(),列名相同的可以,但列名不同的就无法匹配了
不知有没有方式能关联不同列名的列进行拼接
尝试过更改列名,但对于处理多个sheet时没有写成功
希望有经验的同学能给予指导,谢谢!
如下图:
sheet1:
sheet2:
希望能拼接为:
但实际是:
import pandas as pd
import xlrd
filelist = str(glob.glob('*.xlsx')[0]) # 选出当前路径下的以xlsx结尾的文件名并使用第一个
summary_workbook = xlrd.open_workbook(filelist) # 读取这个工作簿
df1 = pd.read_excel(filelist, header=0, sheet_name=sheet_name) # 读取指定文件的sheet
data = pd.concat(df1, sort=False, ignore_index=True) # 按行拼接
创建一个新dataframe对象,循环从不同sheet读取数据,用x,y控制或者tolist后用index控制,取第一行后的数据append
最后保存到新的excel里
,如果有帮助,请点个采纳哦~