python不到50行代碼完成了多張excel合并的實(shí)現(xiàn)示例
一 前言
公司同事最近在做excel相關(guān)的工作;今天來求助知識(shí)追尋者合并多個(gè)excel為一個(gè)一個(gè)工作本,原本是java操作poi太蛋疼了,笨重不堪,內(nèi)存消耗嚴(yán)重,知識(shí)追尋者使用python不到40行代碼完成了60多張excel工作本合并為一張;python真香
牛皮吹完了,如果看過知識(shí)追尋者系列文章的讀者肯定知道之前知識(shí)追尋者發(fā)過一篇
python專題使用openpyxl操作excel;本篇使用的不是openpyx庫,使用的使是xlrd,xlwt庫,雖然這兩庫功能沒法根openpyx相比,但可以操作xls結(jié)尾的舊版excel而openpyx不支持;
二 代碼
大體思路如下
- 遍歷獲取根目錄下的所有excel文件
- 根據(jù)excel名稱進(jìn)行匹配獲取某類excel
- 創(chuàng)建工作本用于寫入拷貝的數(shù)據(jù)
- 每個(gè)excel都有一張Sheet1,循環(huán)遍歷單元格寫入創(chuàng)建的工作本
詳細(xì)過程寫在代碼里面;讀者可以參考一下思路和使用方式,后續(xù)知識(shí)追尋者有空會(huì)出這2庫基礎(chǔ)系列文章的使用方式;
# -*- 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__": # 創(chuàng)建工作本 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) # 創(chuàng)建sheet write_sheet = write_book.add_sheet(name) # 寫入 write_excel(path, write_sheet) # 保存 write_book.save(r'本專科.xls')
到此這篇關(guān)于python不到50行代碼完成了多張excel合并的實(shí)現(xiàn)示例的文章就介紹到這了,更多相關(guān)python 多張excel合并內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- 利用Python pandas對(duì)Excel進(jìn)行合并的方法示例
- python合并多個(gè)excel文件的示例
- Python調(diào)用接口合并Excel表代碼實(shí)例
- 使用 Python 合并多個(gè)格式一致的 Excel 文件(推薦)
- Python pandas實(shí)現(xiàn)excel工作表合并功能詳解
- python操作openpyxl導(dǎo)出Excel 設(shè)置單元格格式及合并處理代碼實(shí)例
- 使用python將多個(gè)excel文件合并到同一個(gè)文件的方法
- python 實(shí)現(xiàn)讀取一個(gè)excel多個(gè)sheet表并合并的方法
- Python批量合并有合并單元格的Excel文件詳解
- python之DataFrame實(shí)現(xiàn)excel合并單元格
- python excel多行合并的方法
相關(guān)文章
Python如何將圖像音視頻等資源文件隱藏在代碼中(小技巧)
有朋友問小編使用pyinstaller打包源碼時(shí),因?yàn)榇a中使用了圖像、音頻、視頻等資源文件,無法將程序打包成單一的可執(zhí)行文件,怎么處理呢,下面小編通過代碼給大家介紹Python如何將圖像音視頻等資源文件隱藏在代碼中,感興趣的朋友一起看看吧2020-02-02Python實(shí)現(xiàn)按當(dāng)前日期(年、月、日)創(chuàng)建多級(jí)目錄的方法
這篇文章主要介紹了Python 按當(dāng)前日期(年、月、日)創(chuàng)建多級(jí)目錄的方法,實(shí)現(xiàn)代碼很簡單,需要的朋友可以參考下2018-04-04Python中模塊pymysql查詢結(jié)果后如何獲取字段列表
pymsql是Python中操作MySQL的模塊,其使用方法和MySQLdb幾乎相同。下面這篇文章主要給大家介紹了關(guān)于Python中模塊pymysql查詢結(jié)果后如何獲取字段列表的相關(guān)資料,文中介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來看看詳細(xì)的介紹。2017-06-06PyTorch-Forecasting一個(gè)新的時(shí)間序列預(yù)測庫使用詳解
這篇文章主要為大家介紹了PyTorch-Forecasting一個(gè)新的時(shí)間序列預(yù)測庫示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-05-05