4.python合并excel多个sheet
生活随笔
收集整理的這篇文章主要介紹了
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的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 这一次,吃透你项目中的每个资源!
- 下一篇: React全家桶构建一款Web音乐App