python合并excel文件

#合并多个xlsx文件为一个test文件,含每个xlsx内所有sheet

import xlrd

import xlsxwriter

#打开一个xlsx文件

def open_xlsx(file):

fh=xlrd.open_workbook(file)

return fh

#获取excel中所有的sheet表

def getsheet(fh):

return fh.sheets()

#获取sheet表的行数

def getnrows(fh,sheet):

table=fh.sheets()[sheet]

return table.nrows

#读取文件内容并返回行内容

def getFilect(file,shnum):

fh=open_xlsx(file)

table=fh.sheets()[shnum]

num=table.nrows

for rowin range(num):

rdata=table.row_values(row)

datavalue.append(rdata)

return datavalue

#获取sheet表的个数

def getshnum(fh):

x=0

    sh=getsheet(fh)

for sheet in sh:

x+=1

    return x

#python模拟入口

if __name__=='__main__':

#定义要合并的excel文件列表

    allxls=['C:/Users/85132/Desktop/wuhan_POI/public.xlsx',

'C:/Users/85132/Desktop/wuhan_POI/scene.xlsx']

#存储所有读取的结果

    datavalue=[]

for flin allxls:

fh=open_xlsx(fl)

x=getshnum(fh)

for shnumin range(x):

print("正在读取文件:"+str(fl)+"的第"+str(shnum)+"个sheet表的内容...")

rvalue=getFilect(fl,shnum)

#定义最终合并后生成的新文件

    endfile='C:/Users/85132/Desktop/wuhan_POI/test.xlsx'

    wb=xlsxwriter.Workbook(endfile)

#创建一个sheet工作对象

    ws=wb.add_worksheet()

for ain range(len(rvalue)):

for bin range(len(rvalue[a])):

c=rvalue[a][b]

ws.write(a,b,c)

wb.close()

print("文件合并完成")

你可能感兴趣的:(python合并excel文件)