天天看點

python合并excel工作簿_Python合并多個Excel工作簿

# -*- coding: utf-8 -*-

#導入需要使用的包

import xlrd #讀取Excel檔案的包

import xlsxwriter #将檔案寫入Excel的包

#打開一個excel檔案

def open_xls(file):

f = xlrd.open_workbook(file)

return f

#擷取excel中所有的sheet表

def getsheet(f):

return f.sheets()

#擷取sheet表的行數

def get_Allrows(f,sheet):

table=f.sheets()[sheet]

return table.nrows

#讀取檔案内容并傳回行内容

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

#擷取sheet表的個數

def getshnum(f):

x=0

sh=getsheet(f)

for sheet in sh:

x+=1

return x

#函數入口

if __name__==‘__main__‘:

#定義要合并的excel檔案清單

allxls=[‘d:/123.xls‘,‘d:/333.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=‘d:/excel3.xlsx‘

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("檔案合并完成")

原文:https://www.cnblogs.com/medik/p/11074937.html