# -*- 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("文件合並完成")