工作中有时候会遇到把多个具有相同表头的EXCEL表格的内容合并,本例中表头内容如下:
具体方法:
1将需要合并的表格提前汇总到一个文件夹中;
2使用os.listdir获取文件夹中各表格的名称;
2使用openpyxl循环打开各工作表,并将各工作表表头以外的内容添加到新表中
3保存新表(表格的格式可以打开新表后修改,汇总表格的格式为XLSX类型)
方法很简单很使用,下面是代码和excel图
import os#导入os
from openpyxl import load_workbook,Workbook#导入openpyxl
data=input('请输入目标文件夹名称:')#输入汇总各表的文件夹的名称
path='F:/技术室/总结/每日工作总结/2021/5月份/'+str(data)#获取目标文件夹的路径
files_list=os.listdir(path)#获取目标文件夹内各文件的名称
new_wb=Workbook()#新建表格
new_ws=new_wb.active#获取工作簿
header=['项目','内容','责任人']#表头列表
new_ws.append(header)#添加新表的表头内容
for file in files_list:#循环获取各表的名称
file_path=path+'/'+file#获取表格的路径
wb=load_workbook(file_path)#打开表格
ws=wb.active#打开工作簿
for row in ws.iter_rows(min_row=3,values_only=True):#循环获取表头以外的表格内容
new_ws.append(row)#获取的内容写入新表
new_wb.save('./合并表格案例.xlsx')#保存表格
print('已完成表格合并')
目标文件夹中的三个表格:
合并前:
合并后: