今天來用python實作合併多個excel為一個工作本,使用不到40行程式碼完成了60多張excel工作本合併為一張,大家一起來看看吧。
本篇使用的不是openpyx庫,使用的使是xlrd,xlwt庫,雖然這兩庫功能沒法根openpyx相比,但可以操作xls結尾的舊版excel而openpyx不支援
程式碼
大體思路如下
詳細過程寫在程式碼裡面
# -*- coding: utf-8 -*- import xlrd import xlwt import os import re """ 写入工作本 """ def write_excel(path, write_sheet): # 加载工作本 book = xlrd.open_workbook(path) # 获取表单 read_sheet = book.sheet_by_name('Sheet1') # 遍历 for row in range(read_sheet.nrows): for col in range(read_sheet.ncols): write_sheet.write(row, col, read_sheet.cell_value(row,col)) # 获取根目录下所有文件名 def walk(path): for root,dirs,names in os.walk(path): list = [] for filename in names: path = os.path.join(root, filename) list.append(path) return list if __name__ == "__main__": # 创建工作本 write_book = xlwt.Workbook() # 根目录 root = r'C:\mydata\generator\excel' path_list = walk(root) for path in path_list: val = path.find("本专科") if val!=-1: # 正则匹配 ser = re.search('.*20200403(.*?).xls',path) name = ser.group(1) # 创建sheet write_sheet = write_book.add_sheet(name) # 写入 write_excel(path, write_sheet) # 保存 write_book.save(r'本专科.xls')
感謝大家的閱讀,希望大家收益多多。
本文轉自:https://blog.csdn.net/youku1327/article/details/105300668
推薦教學:《python教學》
以上是python如何實作excel多表合併(附程式碼)的詳細內容。更多資訊請關注PHP中文網其他相關文章!