使用Python將多個excel的多個sheet頁合併到一個excel


使用Python將多個excel的多個sheet頁合併到一個excel

##讀取Excel文件
import xlrd
##將文本寫入excel文件
import xlsxwriter

##讀取excel文件
def getexcel(excel):
f=xlrd.open_workbook(excel)
return f

##獲取excel中的所有sheet表
def getsheet(excel):
return getexcel(excel).sheets()

##獲取excel的sheet表個數
def getsheetnum(excel):
n=0
sheets=getsheet(excel)
for i in sheets:
n+=1
return n

##獲取excel每個sheet表的行數
def getsheetrows(excel,sheetpage):
table=getsheet(excel)[sheetpage]
return table.nrows

##讀取excel文件並返回行內容
def getexcelfile(excel,sheetpage):
table=getsheet(excel)[sheetpage]
rows=table.nrows
datavalue=[]
for row in range(rows):
##返回該行中所有單元格數據組成的列表
data=table.row_values(row)
datavalue.append(data)
return datavalue

if name == ‘main’:
excel=[‘C:\Users\17534\Desktop\excelone.xlsx’,‘C:\Users\17534\Desktop\exceltwo.xlsx’,]
datavalue=[]
##循環取得第n個excel
for n in range(len(excel)):
sheetnum = getsheetnum(excel[n])
##循環返回第n個excel的第i個sheet頁
for i in range(sheetnum):
data=getexcelfile(excel[n],i)
print('正在讀取第 ’ + str(n) + ’ 個excel的第 ’ + str(i) + ’ sheet頁的內容 ')
##將第n個excel的第i個sheet頁的第j行單元格數據追加到列表中
for j in range(len(data)):
datavalue.append(data[j])

##定義合併後的目標文件
endexcel=‘C:\Users\17534\Desktop\excelmerge.xlsx’
wb=xlsxwriter.Workbook(endexcel)
ws=wb.add_worksheet()
for i in range(len(datavalue)):
for j in range(len(datavalue[i])):
k=datavalue[i][j]
ws.write(i,j,k)
wb.close()

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章