【Python】如何使用Pandas将多个Excel文件合并成一个?
使用Pandas将多个Excel文件合并成一个文件的过程涉及几个关键步骤:读取多个Excel文件,将它们的内容合并到一个DataFrame中,然后将结果保存到一个新的Excel文件。下面我会详细解释这个过程,并提供一个完整的例子。
步骤概述
- 准备环境:确保安装了
pandas
和openpyxl
(用于处理.xlsx文件)。 - 读取多个Excel文件:遍历文件目录,读取所有相关的Excel文件。
- 合并数据:使用Pandas的
concat
函数将所有读取的数据合并到一个DataFrame中。 - 保存合并后的数据:将合并后的DataFrame保存到一个新的Excel文件中。
安装所需库
确保安装了pandas
和openpyxl
库。如果没有安装,可以通过pip来安装它们:
pip install pandas openpyxl
例子
假设我们有一系列销售数据文件,每个文件对应一个月的数据,文件名格式为YYYY-MM.xlsx
(例如2023-01.xlsx
, 2023-02.xlsx
等),并且所有的文件都放在一个名为sales_data
的文件夹中。我们的目标是将这些文件合并成一个单一的Excel文件。
代码实现
import os
import pandas as pd
from pathlib import Path
# 目录路径,包含所有待合并的Excel文件
directory_path = 'sales_data'
# 初始化一个空列表来存储所有的DataFrame
all_dataframes = []
# 遍历目录下的所有文件
for filename in os.listdir(directory_path):
if filename.endswith('.xlsx'): # 只处理.xlsx文件
file_path = Path(directory_path) / filename
# 读取Excel文件,假设数据在第一个工作表中
df = pd.read_excel(file_path, engine='openpyxl')
# 将读取到的DataFrame添加到列表中
all_dataframes.append(df)
# 合并所有DataFrame
combined_df = pd.concat(all_dataframes, ignore_index=True)
# 保存合并后的DataFrame到新的Excel文件
output_file = 'combined_sales_data.xlsx'
combined_df.to_excel(output_file, index=False, engine='openpyxl')
print(f"合并后的数据已保存到 {output_file}")
例子解释
- 准备环境:确保安装了
pandas
和openpyxl
库。 - 读取多个Excel文件:
- 使用
os.listdir()
列出指定目录下的所有文件。 - 对于每个文件,检查文件扩展名是否为
.xlsx
。 - 使用
pd.read_excel()
函数读取每个Excel文件,并将结果存储在一个DataFrame中。 - 将每个DataFrame添加到列表
all_dataframes
中。 - 合并数据:
- 使用
pd.concat()
函数将列表中的所有DataFrame合并成一个单一的DataFrame。 - 参数
ignore_index=True
确保新DataFrame的索引是连续的。 - 保存合并后的数据:
- 使用
to_excel()
方法将合并后的DataFrame保存到新的Excel文件中。 - 参数
index=False
表示不保存行索引。 engine='openpyxl'
指定了处理.xlsx文件的引擎。
注意事项
这个例子展示了如何使用Pandas将多个Excel文件合并成一个。你可以根据实际情况调整文件路径和文件名模式。希望这个例子对你有所帮助!
🌟 加入【技术图书分享与阅读笔记】,一起遨游知识的星海! 🌟
在这个快速变化的时代,技术日新月异,唯有不断学习才能保持竞争力。【技术图书分享与阅读笔记】是一个充满活力和热情的学习社区,我们专注于最新的技术趋势和技术图书,致力于为每一位成员提供一个持续成长和交流的平台。
在这里,你可以:
无论你是技术新手还是资深开发者,【技术图书分享与阅读笔记】都欢迎你的加入!让我们一起探索技术的奥秘,享受学习的乐趣,共同在知识的星海中遨游!
👉 立即加入我们,开启你的学习之旅吧!

作者:七魔心