Python3批量合併excel 格式xlsx和xls都行

import xlrd
import os
import xlwt

FolderPath = r"C:\Users\Administrator.WIN10-803072322\Desktop\賀虎"
pathsDir = os.listdir(FolderPath)
#獲取文件夾中表格的路徑 並且放入到列表中
PathList = []
for LogsPath in pathsDir:
ExcelPath = os.path.join(FolderPath, LogsPath)
PathList.append(ExcelPath)

#構建函數讀取表格數據
def get_sheet_value(i):
Path = PathList[i]
book = xlrd.open_workbook(Path)
sheet1 = book.sheets()[0]
sheet_rows = sheet1.nrows
#sheet_cols = sheet1.ncols
SheetData = []
for numRows in range(0, sheet_rows):
sheet_value = sheet1.row_values(numRows)
SheetData.append(sheet_value)
return SheetData

i = 0
file_value = get_sheet_value(i)
while i < len(PathList):
#print(“第” + str(i + 1) + “張數據表”, end="")
file_value += get_sheet_value(i)
i += 1
#print(file_value)
print(len(file_value))
print(len(file_value[0]))

#將數據寫入新表格中
workbook = xlwt.Workbook(FolderPath)
worksheet = workbook.add_sheet(‘test’)
num = 0
numRows = len(file_value)
numCols = len(file_value[0])

print(file_value[3274][0])

#把表格數據合併成列表然後 寫入新表格
for numCols in range(len(file_value[0])):
for numRows in range(len(file_value)):
value = file_value[numRows][numCols]
worksheet.write(numRows, numCols, value)

file_name = str(FolderPath).split("\")
file_name1=str(file_name[-1]) +“合併文件” + “.xls”
print(file_name1)
workbook.save(file_name1)

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