使用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類的對(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)

Django項(xiàng)目的創(chuàng)建全過(guò)程

Python?設(shè)計(jì)模式中的創(chuàng)建型建造者模式

通過(guò)實(shí)例了解python property屬性

跟老齊學(xué)Python之私有函數(shù)和專有方法

Python實(shí)現(xiàn)CART決策樹算法及詳細(xì)注釋

Python將數(shù)據(jù)生成二維碼的四種方法實(shí)例代碼

利用Pandas讀取文件路徑或文件名稱包含中文的csv文件方法