使用Python實(shí)現(xiàn)合并多個(gè)Excel文件
合并Excel可以將多個(gè)文件中的數(shù)據(jù)合并到一個(gè)文件中,這樣可以幫助我們更好地匯總和管理數(shù)據(jù)。日常工作中,合并Excel主要有以下兩種需求:
- 將多個(gè)Excel文件合并為一個(gè)文件
- 將多個(gè)Excel工作表合并為一個(gè)工作表
這篇文章將介紹如何使用第三方Python庫(kù) Spire.XLS for Python 實(shí)現(xiàn)以上兩種合并Excel文件的需求。
將多個(gè)Excel文件合并為一個(gè)文件
Spire.XLS for Python 可以將同一文件夾或者不同文件路徑下的多個(gè)Excel文件合并到一個(gè)Excel文件中。大概實(shí)現(xiàn)思路是:
- 首先創(chuàng)建一個(gè)列表,用于存儲(chǔ)所有需要合并的Excel文件。
- 然后遍歷列表中的文件并將它們都載入到一個(gè)臨時(shí)的工作簿中。
- 最后遍歷臨時(shí)工作簿中的所有工作表,然后通過Workbook.Worksheets.AddCopy() 方法將這些工作表都復(fù)制到一個(gè)新的Excel文件中并保存。
目標(biāo)文件(位于不同文件路徑):

合并后的Excel文件:

示例代碼:
from spire.xls import *
from spire.common import *
# 創(chuàng)建一個(gè)列表,并將需要合并的Excel文件放入其中
files = []
files.append("F:\\成績(jī)表.xlsx" )
files.append("分析.xlsx")
files.append("C:\\Users\\Administrator\\Desktop\\總結(jié).xlsx")
# 創(chuàng)建一個(gè)新工作簿
newbook = Workbook()
# 刪除其中的默認(rèn)工作表
newbook.Worksheets.Clear()
# 創(chuàng)建一個(gè)臨時(shí)工作簿
tempbook = Workbook()
# 遍歷列表中的文件路徑
for file in files:
# 將列表中的文件加載到臨時(shí)工作簿中
tempbook.LoadFromFile(file)
# 遍歷臨時(shí)工作簿中所有的工作表
for sheet in tempbook.Worksheets:
# 將臨時(shí)工作簿中的工作表復(fù)制到新工作簿中
newbook.Worksheets.AddCopy(sheet, WorksheetCopyType.CopyAll)
# 將新工作簿另存為.xlsx文件
newbook.SaveToFile("合并Excel文件.xlsx", ExcelVersion.Version2016)
newbook.Dispose()
tempbook.Dispose()將多個(gè)Excel工作表合并為一個(gè)工作表
將多個(gè)文件中的工作表合并到一個(gè)工作表中首先是需要獲取工作表中的包含數(shù)據(jù)的單元格區(qū)域,然后將該單元格區(qū)域通過 CellRange.Copy(destRange) 方法將其復(fù)制到指定工作表中。
目標(biāo)工作表:

合并后:

示例代碼:
from spire.xls import *
from spire.common import *
# 創(chuàng)建Workbook類的對(duì)象
workbook = Workbook()
# 加載第一個(gè)Excel文件
workbook.LoadFromFile("表1.xlsx")
# 創(chuàng)建Workbook類的對(duì)象
workbook2 = Workbook()
# 加載第二個(gè)Excel文件
workbook2.LoadFromFile("表2.xlsx")
# 獲取兩個(gè)Excel文件中的第一張工作表
sheet1 = workbook.Worksheets[0]
sheet2 = workbook2.Worksheets[0]
# 獲取第二個(gè)文件工作表中用到的區(qū)域
sourceRange = sheet2.AllocatedRange
# 在第一個(gè)文件工作表中指定目標(biāo)區(qū)域
destRange = sheet1.Range[sheet1.LastRow + 1, 1]
# 將第二個(gè)文件工作表中用到的區(qū)域復(fù)制到第一個(gè)文件工作表中目標(biāo)區(qū)域
sourceRange.Copy(destRange)
# 保存結(jié)果文件
workbook.SaveToFile("合并多個(gè)工作表.xlsx", ExcelVersion.Version2016)
workbook.Dispose()到此這篇關(guān)于使用Python實(shí)現(xiàn)合并多個(gè)Excel文件的文章就介紹到這了,更多相關(guān)Python合并多個(gè)Excel內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
python 文件下載之?dāng)帱c(diǎn)續(xù)傳的實(shí)現(xiàn)
用python進(jìn)行文件下載的時(shí)候,一旦出現(xiàn)網(wǎng)絡(luò)波動(dòng)問題,導(dǎo)致文件下載到一半。如果將下載不完全的文件刪掉,那么又需要從頭開始,如果連續(xù)網(wǎng)絡(luò)波動(dòng),是不是要頭禿了。本文提供斷點(diǎn)續(xù)傳下載工具方法,希望可以幫助到你2021-11-11
Python?設(shè)計(jì)模式中的創(chuàng)建型建造者模式
本文介紹Python設(shè)計(jì)模式中的創(chuàng)建型建造者模式,其表現(xiàn)為復(fù)雜對(duì)象的創(chuàng)建與表現(xiàn)相分離,這樣,同一個(gè)過程就有不同的表現(xiàn),想要?jiǎng)?chuàng)建一個(gè)由多個(gè)部分組成的對(duì)象,而且它的構(gòu)成需要一步接一步的完成。只有當(dāng)各個(gè)部分都完成了,這個(gè)對(duì)象才完整,下文相關(guān)自來哦,需要的朋友可以參考下2022-02-02
跟老齊學(xué)Python之私有函數(shù)和專有方法
這篇文章是老齊學(xué)Python系列文章的一篇,主要介紹了跟私有函數(shù)和專有方法,需要的朋友可以參考下2014-10-10
Python實(shí)現(xiàn)CART決策樹算法及詳細(xì)注釋
CART算法是一種樹構(gòu)建算法,既可以用于分類任務(wù),又可以用于回歸,本文僅討論基本的CART分類決策樹構(gòu)建,不討論回歸樹和剪枝等問題,感興趣的朋友跟隨小編一起看看吧2021-10-10
Python將數(shù)據(jù)生成二維碼的四種方法實(shí)例代碼
二維碼在日常生活中非常常見,廣泛應(yīng)用于支付、登錄驗(yàn)證、信息分享等場(chǎng)景,下面這篇文章主要給大家介紹了關(guān)于Python將數(shù)據(jù)生成二維碼的四種方法,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2024-09-09
利用Pandas讀取文件路徑或文件名稱包含中文的csv文件方法
今天小編就為大家分享一篇利用Pandas讀取文件路徑或文件名稱包含中文的csv文件方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2018-07-07

