在日常工作中,我們經常需要處理多個 Excel 文件,并將它們合并成一個文件以便于分析或報告。手動操作不僅耗時,還容易出錯。Python 提供了強大的庫來處理 Excel 文件,使得批量合并 Excel 文件變得非常簡單。本文將介紹如何使用 Python 中的 pandas
和 openpyxl
庫來批量合并 Excel 文件。
首先,我們需要安裝 pandas
和 openpyxl
庫。pandas
是一個強大的數據處理庫,而 openpyxl
則用于處理 Excel 文件。你可以使用以下命令來安裝這兩個庫:
pip install pandas openpyxl
在開始編寫代碼之前,我們需要導入所需的庫:
import pandas as pd
import os
假設我們有一個文件夾,里面存放了多個需要合并的 Excel 文件。我們可以使用 os
模塊來獲取該文件夾中的所有 Excel 文件:
folder_path = 'path/to/your/excel/files'
excel_files = [f for f in os.listdir(folder_path) if f.endswith('.xlsx')]
接下來,我們可以使用 pandas
來讀取每個 Excel 文件,并將它們合并成一個 DataFrame。假設每個 Excel 文件的結構相同,我們可以使用以下代碼:
all_data = pd.DataFrame()
for file in excel_files:
file_path = os.path.join(folder_path, file)
df = pd.read_excel(file_path)
all_data = pd.concat([all_data, df], ignore_index=True)
在這個代碼片段中,我們首先創建了一個空的 DataFrame all_data
。然后,我們遍歷每個 Excel 文件,使用 pd.read_excel()
讀取文件內容,并將其追加到 all_data
中。ignore_index=True
參數確保合并后的 DataFrame 有一個連續的索引。
最后,我們可以將合并后的 DataFrame 保存為一個新的 Excel 文件:
output_file = 'merged_excel.xlsx'
all_data.to_excel(output_file, index=False)
index=False
參數確保在保存文件時不會將 DataFrame 的索引寫入 Excel 文件中。
以下是完整的代碼示例:
import pandas as pd
import os
# 定義文件夾路徑
folder_path = 'path/to/your/excel/files'
# 獲取所有 Excel 文件
excel_files = [f for f in os.listdir(folder_path) if f.endswith('.xlsx')]
# 創建一個空的 DataFrame
all_data = pd.DataFrame()
# 讀取并合并所有 Excel 文件
for file in excel_files:
file_path = os.path.join(folder_path, file)
df = pd.read_excel(file_path)
all_data = pd.concat([all_data, df], ignore_index=True)
# 保存合并后的 Excel 文件
output_file = 'merged_excel.xlsx'
all_data.to_excel(output_file, index=False)
print(f"合并完成,文件已保存為 {output_file}")
.xlsx
格式。如果文件格式不同(如 .xls
),需要調整讀取方式。通過使用 Python 的 pandas
和 openpyxl
庫,我們可以輕松地批量合并多個 Excel 文件。這種方法不僅高效,而且可以避免手動操作中的錯誤。希望本文能幫助你更好地處理 Excel 文件,提高工作效率。
如果你有更多關于 Python 數據處理的需求,歡迎繼續探索 pandas
庫的其他功能,它提供了豐富的工具來處理和分析數據。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。