赞
踩
想必工作中,会遇见将多个Excel文件合并成一个Excel文件,接下来完成如下步骤即可完成合并
注意注意:前提一定是列数及字段名称均相同
代码如下:
# -*- coding: utf-8 -*- #1.导入需要使用的包 import xlrd #读取Excel文件的包 import xlsxwriter #将文件写入Excel的包 #2.打开一个excel文件 def open_xls(file): f = xlrd.open_workbook(file) return f #3.获取excel中所有的sheet表 def getsheet(f): return f.sheets() #4.获取sheet表的行数 def get_Allrows(f,sheet): table=f.sheets()[sheet] return table.nrows #5.读取文件内容并返回行内容 def getFile(file,shnum): f=open_xls(file) table=f.sheets()[shnum] num=table.nrows for row in range(num): rdata=table.row_values(row) datavalue.append(rdata) return datavalue #6.获取sheet表的个数 def getshnum(f): x=0 sh=getsheet(f) for sheet in sh: x+=1 return x #7.函数入口 if __name__=='__main__': #定义要合并的excel文件列表 allxls=['订单报表-2019-01.xls', '订单报表-2019-02.xls', '订单报表-2019-03.xls', '订单报表-2019-04.xls', '订单报表-2019-05.xls', '订单报表-2019-06.xls', '订单报表-2019-07.xls', '订单报表-2019-08.xls', '订单报表-2019-09.xls', '订单报表-2019-10.xls', '订单报表-2019-11.xls', '订单报表-2019-12.xls', '订单报表-2020-01.xls', '订单报表-2020-02.xls', '订单报表-2020-03.xls', '订单报表-2020-04.xls', '订单报表-2020-05.xls', '订单报表-2020-06.xls', '订单报表-2020-07.xls', '订单报表-2020-08.xls', '订单报表-2020-09.xls', '订单报表-2020-10.xls', '订单报表-2020-11.xls', '订单报表-2020-12.xls', '订单报表-2021-01.xls', '订单报表-2021-02.xls', '订单报表-2021-03.xls', '订单报表-2021-04.xls', '订单报表-2021-05.xls', '订单报表-2021-06.xls', '订单报表-2021-07.xls' ] #列表中的为要读取文件的路径 #存储所有读取的结果 datavalue=[] for fl in allxls: f=open_xls(fl) x=getshnum(f) for shnum in range(x): print("正在读取文件:"+str(fl)+"的第"+str(shnum)+"个sheet表的内容...") rvalue=getFile(fl,shnum) #定义最终合并后生成的新文件 endfile='结果.xls' wb=xlsxwriter.Workbook(endfile) #创建一个sheet工作对象 ws=wb.add_worksheet() for a in range(len(rvalue)): for b in range(len(rvalue[a])): c=rvalue[a][b] ws.write(a,b,c) wb.close() print("文件合并完成")
(数据为网上下载的虚拟数据,仅供学习数据上的参考使用)
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。