日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

4.python合并excel多个sheet

發布時間:2023/12/20 python 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 4.python合并excel多个sheet 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
#用python實現將三個excel合并成一個excel #第一個測試文件 第二個測試文件 第三個測試文件 # 其中每個文件中有多個sheet,需要將其全部合并import xlrd,xlsxwriter#設置要合并的所有文件 allxls=["/Users/xubin/myapp/pythonfile/第一個測試文件.xlsx","/Users/xubin/myapp/pythonfile/第二個測試文件.xlsx","/Users/xubin/myapp/pythonfile/第三個測試文件.xlsx"] #設置合并到的文件 endxls ="/Users/xubin/myapp/pythonfile/endxls.xlsx"#打開表格 def open_xls(file):try:fh=xlrd.open_workbook(file)return fhexcept Exception as e:print(str("打開出錯,錯誤為:"+e))#獲取所有sheet def getsheet(fh):return fh.sheets()#讀取某個sheet的行數 def getnrows(fh,sheet):table=fh.sheets()[sheet]content=table.nrowsreturn content#讀取某個文件的內容并返回所有行的值 def getfilect(fh,fl,shnum):fh=open_xls(fl)table=fh.sheet_by_name(shname[shnum])num=getnrows(fh,shnum)lenrvalue=len(rvalue)for row in range(0,num):rdata=table.row_values(row)rvalue.append(rdata)print(rvalue[lenrvalue:])filevalue.append(rvalue[lenrvalue:])return filevalue#存儲所有讀取的結果 filevalue=[] #存儲一個標簽的結果 svalue=[] #存儲一行結果 rvalue=[] #存儲各sheet名 shname=[]#讀取第一個待讀文件,獲得sheet數 fh=open_xls(allxls[0]) sh=getsheet(fh) x=0 for sheet in sh:shname.append(sheet.name)svalue.append([])x+=1 #依次讀取各sheet的內容 #依次讀取各文件當前sheet的內容 for shnum in range(0,x):for fl in allxls:print("正在讀取文件:"+str(fl)+"的第"+str(shnum)+"個標簽的…")filevalue=getfilect(fh,fl,shnum)svalue[shnum].append(filevalue)#print(svalue[0])#print(svalue[1]) #由于apped具有疊加關系,分析可得所有信息均在svalue[0][0]中存儲 #svalue[0][0]元素數量為sheet標簽數(sn)*文件數(fn) sn=x fn=len(allxls) endvalue=[]#設置一個函數專門獲取svalue里面的數據,即獲取各項標簽的數據 def getsvalue(k):for z in range(k,k+fn):endvalue.append(svalue[0][0][z])return endvalue#打開最終寫入的文件 wb1=xlsxwriter.Workbook(endxls) #創建一個sheet工作對象 ws=wb1.add_worksheet() polit=0 linenum=0 #依次遍歷每個sheet中的數據 for s in range(0,sn*fn,fn):thisvalue=getsvalue(s)tvalue=thisvalue[polit:]#將一個標簽的內容寫入新文件中for a in range(0,len(tvalue)):for b in range(0,len(tvalue[a])):for c in range(0,len(tvalue[a][b])):#print(linenum)#print(c)data=tvalue[a][b][c]ws.write(linenum,c,data)linenum+=1#疊加關系,需要設置分割點polit=len(thisvalue) wb1.close()

總結

以上是生活随笔為你收集整理的4.python合并excel多个sheet的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。