Python自動(dòng)化辦公之合并多個(gè)Excel
在日常的辦公自動(dòng)化工作中,尤其是處理大量數(shù)據(jù)時(shí),合并多個(gè) Excel 表格是一個(gè)常見(jiàn)且繁瑣的任務(wù)。幸運(yùn)的是,借助 Python 語(yǔ)言中的強(qiáng)大庫(kù),我們可以輕松地自動(dòng)化這個(gè)過(guò)程。本文將帶你了解如何使用 Python 來(lái)合并多個(gè) Excel 表格,節(jié)省時(shí)間并提高工作效率。
為什么選擇 Python 自動(dòng)化
Python 具備強(qiáng)大的數(shù)據(jù)處理能力,特別是在數(shù)據(jù)分析和文件操作方面,借助如 pandas 和 openpyxl 這樣的庫(kù),我們能夠非常高效地讀取、處理和合并 Excel 文件。相比手動(dòng)操作,使用 Python 自動(dòng)化的優(yōu)勢(shì)包括:
提高效率:批量處理大量 Excel 文件,無(wú)需手動(dòng)操作。
降低出錯(cuò)率:避免人為疏忽帶來(lái)的錯(cuò)誤。
可重復(fù)使用:代碼一次寫(xiě)好后,可以反復(fù)用于不同的文件或表格合并。
靈活性強(qiáng):可以對(duì)數(shù)據(jù)進(jìn)行清洗、篩選、排序等復(fù)雜操作。
目標(biāo)
我們的目標(biāo)是將多個(gè) Excel 文件中的數(shù)據(jù)合并到一個(gè)新的 Excel 文件中,所有數(shù)據(jù)將追加到一個(gè)工作表中。具體操作如下:
讀取多個(gè) Excel 文件:將多個(gè) Excel 文件中的數(shù)據(jù)讀取到 Python 中。
合并數(shù)據(jù):將這些數(shù)據(jù)合并到一個(gè)新的 DataFrame 中。
保存結(jié)果:將合并后的數(shù)據(jù)保存到一個(gè)新的 Excel 文件中。
使用 Python 合并多個(gè) Excel 文件
我們將利用 pandas 和 openpyxl 庫(kù)來(lái)完成這一任務(wù)。pandas 適用于數(shù)據(jù)的讀取和處理,而 openpyxl 適用于操作 Excel 文件。
安裝所需庫(kù)
首先,確保你已安裝了以下 Python 庫(kù):
pip install pandas openpyxl
示例代碼
假設(shè)你有多個(gè) Excel 文件,文件結(jié)構(gòu)如下:
file1.xlsx
file2.xlsx
file3.xlsx
每個(gè)文件中都有一個(gè)工作表,包含相同結(jié)構(gòu)的數(shù)據(jù)(列名相同)。
1. 導(dǎo)入庫(kù)
import pandas as pd import os
2. 讀取多個(gè) Excel 文件并合并
我們使用 os 模塊來(lái)遍歷指定目錄下的所有 Excel 文件,并通過(guò) pandas 讀取數(shù)據(jù)。將每個(gè)文件的數(shù)據(jù)合并到一個(gè)大的 DataFrame 中。
def merge_excel_files(input_folder, output_file):
# 獲取文件夾中的所有 Excel 文件
all_files = [f for f in os.listdir(input_folder) if f.endswith('.xlsx')]
# 初始化一個(gè)空的 DataFrame 用于存儲(chǔ)合并后的數(shù)據(jù)
combined_df = pd.DataFrame()
# 遍歷所有文件,逐個(gè)讀取并合并
for file in all_files:
file_path = os.path.join(input_folder, file)
print(f"正在處理文件: {file_path}")
# 讀取 Excel 文件
df = pd.read_excel(file_path)
# 合并數(shù)據(jù)
combined_df = pd.concat([combined_df, df], ignore_index=True)
# 將合并后的數(shù)據(jù)保存到新的 Excel 文件
combined_df.to_excel(output_file, index=False)
print(f"合并完成,結(jié)果已保存到: {output_file}")
3. 調(diào)用函數(shù)并運(yùn)行
調(diào)用上面的 merge_excel_files 函數(shù),并傳入文件夾路徑和輸出文件路徑:
# 指定輸入文件夾路徑和輸出文件路徑 input_folder = 'path_to_your_excel_files' # 替換為你的文件夾路徑 output_file = 'merged_output.xlsx' # 輸出文件路徑 # 調(diào)用合并函數(shù) merge_excel_files(input_folder, output_file)
代碼說(shuō)明
獲取文件列表:通過(guò) os.listdir 獲取指定目錄下的所有 .xlsx 文件。
讀取和合并數(shù)據(jù):利用 pandas.read_excel 讀取每個(gè) Excel 文件的數(shù)據(jù),并使用 pandas.concat 方法將數(shù)據(jù)合并到一個(gè)大的 DataFrame 中。ignore_index=True 確保合并后的數(shù)據(jù)不會(huì)重復(fù)索引。
保存合并結(jié)果:最后,將合并后的數(shù)據(jù)保存到一個(gè)新的 Excel 文件中,使用 to_excel 方法。
執(zhí)行結(jié)果
執(zhí)行上述代碼后,你會(huì)看到如下輸出:
正在處理文件: path_to_your_excel_files/file1.xlsx
正在處理文件: path_to_your_excel_files/file2.xlsx
正在處理文件: path_to_your_excel_files/file3.xlsx
合并完成,結(jié)果已保存到: merged_output.xlsx
合并后的數(shù)據(jù)將被保存到 merged_output.xlsx 文件中。
小結(jié)
通過(guò) Python 的 pandas 庫(kù),我們可以輕松實(shí)現(xiàn)合并多個(gè) Excel 文件的自動(dòng)化任務(wù)。只需少量的代碼,就能將多個(gè)工作表中的數(shù)據(jù)合并成一個(gè)完整的文件,大大提高了工作效率。
使用 Python 進(jìn)行辦公自動(dòng)化,不僅能夠減少重復(fù)勞動(dòng),還能讓你專(zhuān)注于更有價(jià)值的工作。
到此這篇關(guān)于Python自動(dòng)化辦公之合并多個(gè)Excel的文章就介紹到這了,更多相關(guān)Python合并多個(gè)Excel內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Pygame Surface創(chuàng)建圖像的實(shí)現(xiàn)
本文主要介紹了Pygame Surface創(chuàng)建圖像的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-02-02
如何利用Boost.Python實(shí)現(xiàn)Python C/C++混合編程詳解
這篇文章主要給大家介紹了關(guān)于如何利用Boost.Python實(shí)現(xiàn)Python C/C++混合編程的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起看看吧2018-11-11
Python實(shí)現(xiàn)學(xué)生信息管理系統(tǒng)的示例代碼
夏天是用來(lái)告別的季節(jié),因?yàn)楫厴I(yè)總在七月。那么七月之前的季節(jié)是用來(lái)干嘛的呢?當(dāng)然是用來(lái)做畢業(yè)設(shè)計(jì)的啦!本文為大家準(zhǔn)備了兩個(gè)版本的學(xué)生信息管理系統(tǒng),希望對(duì)大家有所幫助2023-02-02
Python實(shí)現(xiàn)棧和隊(duì)列的簡(jiǎn)單操作方法示例
這篇文章主要介紹了Python實(shí)現(xiàn)棧和隊(duì)列的簡(jiǎn)單操作方法,結(jié)合實(shí)例形式詳細(xì)分析了Python棧和隊(duì)列的原理與簡(jiǎn)單實(shí)現(xiàn)技巧,需要的朋友可以參考下2019-11-11
Python實(shí)現(xiàn)極限車(chē)神游戲的示例代碼
今天小編要為大家介紹一款小編自己用Python代碼碼出來(lái)的賽車(chē)風(fēng)格的打字小游戲,不僅能游戲還能學(xué)到很多不同類(lèi)型的編程代碼關(guān)鍵字的語(yǔ)言,需要的可以參考一下2023-02-02
Python使用Spire.XLS for Python輕松實(shí)現(xiàn)將Excel轉(zhuǎn)換為PDF
在許多商務(wù)工作流程中,Excel 文件常用于存儲(chǔ)和分析數(shù)據(jù),然而,在共享報(bào)告或發(fā)票時(shí),將其轉(zhuǎn)換為 PDF 能確保內(nèi)容在不同設(shè)備上保持固定和可讀,下面我們就來(lái)看看如何使用Python實(shí)現(xiàn)Excel到PDF的轉(zhuǎn)換吧2025-11-11
Python內(nèi)置函數(shù)memoryview()的實(shí)現(xiàn)示例
本文主要介紹了Python內(nèi)置函數(shù)memoryview()的實(shí)現(xiàn)示例,它允許你在不復(fù)制其內(nèi)容的情況下操作同一個(gè)數(shù)組的不同切片,具有一定的參考價(jià)值,感興趣的可以了解一下2024-05-05

