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

  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM