使用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í)工作簿中的所有工作表,然后通過(guò)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ū)域通過(guò) CellRange.Copy(destRange) 方法將其復(fù)制到指定工作表中。
目標(biāo)工作表:

合并后:

示例代碼:
from spire.xls import *
from spire.common import *
# 創(chuàng)建Workbook類(lèi)的對(duì)象
workbook = Workbook()
# 加載第一個(gè)Excel文件
workbook.LoadFromFile("表1.xlsx")
# 創(chuàng)建Workbook類(lèi)的對(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)
Django項(xiàng)目的創(chuàng)建全過(guò)程
Python?設(shè)計(jì)模式中的創(chuàng)建型建造者模式
通過(guò)實(shí)例了解python property屬性
跟老齊學(xué)Python之私有函數(shù)和專有方法
Python實(shí)現(xiàn)CART決策樹(shù)算法及詳細(xì)注釋
Python中新式類(lèi)與經(jīng)典類(lèi)的區(qū)別詳析
Python將數(shù)據(jù)生成二維碼的四種方法實(shí)例代碼
利用Pandas讀取文件路徑或文件名稱包含中文的csv文件方法

