Python 合并文件夹内多个 Excel 表格
2024.01.17 19:08浏览量:21简介:通过 Python 合并指定文件夹内的多个 Excel 表格,方便处理大量数据。本篇教程将带领你逐步完成这一任务。
首先,你需要安装 pandas 和 glob 这两个 Python 库。如果还没有安装,请打开终端并运行以下命令进行安装:
pip install pandas glob openpyxl
接下来,我们可以编写一个 Python 脚本来合并文件夹内的多个 Excel 表格。假设你要合并的 Excel 文件都在名为 data 的文件夹中,并且所有 Excel 文件都在该文件夹的根目录下。
import pandas as pdimport glob# 指定文件夹路径folder_path = 'data'# 获取文件夹中所有 Excel 文件的文件名excel_files = glob.glob(folder_path + '/*.xlsx') # 修改文件扩展名为你实际的 Excel 文件扩展名# 创建一个空的 DataFrame 来保存所有数据merged_data = pd.DataFrame()# 循环读取每个 Excel 文件并合并到 merged_data 中for excel_file in excel_files:data = pd.read_excel(excel_file, engine='openpyxl') # 使用 openpyxl 作为引擎读取 Excel 文件merged_data = pd.concat([merged_data, data]) # 将每个 Excel 文件的数据合并到 merged_data 中# 将合并后的数据保存到新的 Excel 文件中merged_data.to_excel('merged_data.xlsx', index=False, engine='openpyxl') # 将合并后的数据保存为新的 Excel 文件,并指定使用 openpyxl 作为引擎
这段代码会读取指定文件夹内的所有 Excel 文件,并将它们合并到一个新的 Excel 文件中。注意,如果某些 Excel 文件的列不完全相同,可能会导致错误。在这种情况下,你可能需要先对数据进行预处理,确保所有 Excel 文件的列都是一致的。
此外,这段代码假设所有 Excel 文件都在指定文件夹的根目录下。如果 Excel 文件位于子文件夹中,你需要修改 glob.glob() 中的路径来包含子文件夹。例如,如果你的 Excel 文件位于名为 subfolder 的子文件夹中,你可以将 folder_path 设置为 'data/subfolder'。
最后,请注意,这段代码使用了 openpyxl 作为引擎来读取和写入 Excel 文件。如果你的环境中没有安装 openpyxl,你需要先安装它才能运行这段代码。你可以使用以下命令进行安装:
```shell
pip install openpyxl

发表评论
登录后可评论,请前往 登录 或 注册