python将两个excel合并到一个excel,python处理多个excel文件
利用python xlrd包读取excle文件,然后将文件内容存入一个列表中,再利用xlsxwriter将内容写入到一个新的超过文件中。
完整代码
#-*-编码:utf-8 -*-
#将多个超过文件合并成一个
导入读操作
导入xlsxwriter
#打开一个超过文件
def open_xls(文件):
fh=xlrd.open_workbook(文件)
返回消防栓(Fire Hydrant的缩写)
#获取超过中所有的表表
定义获取表(fh):
返回fh.sheets()
#获取表表的行数
定义获取行(fh,单页):
table=fh.sheets()[sheet]
返回table.nrows
#读取文件内容并返回行内容
def getFilect(file,shnum):
fh=open_xls(文件)
table=fh.sheets()[shnum]
num=table.nrows
对于范围内的行(数量):
rdata=table.row_values(row)
datavalue.append(rdata)
返回数据值
#获取表表的个数
def getshnum(fh):
sh=获取工作表(fh)
对于嘘中的表:
x=1
返回x
if __name__==__main__ :
#定义要合并的超过文件列表
allxls=[F:/test/excel1.xlsx , F:/test/excel2.xlsx]
#存储所有读取的结果
数据值=[]
对于allxls中的fl:
fh=open_xls(fl)
x=getshnum(fh)
对于范围(十)中的shnum:
打印(正在读取文件: str(fl)的第 str(shnum)个表表的内容.)
右值=getFilect(fl,shnum)
#定义最终合并后生成的新文件
endfile=F:/test/excel3.xlsx
wb1=xlsxwriter .工作簿(结束文件)
#创建一个表工作对象
ws=wb1.add_worksheet()
对于范围内的(len(右值)):
对于范围内的b(len(右值[答]):
c=右值[甲][乙]
ws.write(a,b,c)
wb1.close()
打印(文件合并完成)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
源文件excel1:
源文件excel2:
运行结果:
合并后的excel3: