功能需求如下:
该excel文件中有21号与22号两天的数据,分别存放在两个sheet中,并且数据列名相同,要求将这两个sheet合并成一个sheet
import pandas as pd
#import os
file = 'GlassID.xlsx'
save_file = 'ID_concat.xlsx'
def merge_sheets(file, save_file):
file = pd.ExcelFile(file)
sheet_names = file.sheet_names
print(sheet_names)
sheet_concat = pd.DataFrame()
for sheet in sheet_names:
df = pd.read_excel(file, sheet_name=sheet,encoding='utf8')
print(df.shape)
sheet_concat = sheet_concat.append(df)
sheet_concat.to_excel(save_file)
print('合并之后的数据大小:',sheet_concat.shape)
merge_sheets(file, save_file)
上述代码在sheets的列名相同时测试成功:
在sheets表的列名不相同时,合并之后的数据大小: (4260, 6) 命名不同列会自动扩充,原本没有这些列的数据则会被填上空值。