# -*- 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