Python – 如何合并文件夹中的所有Excel文件

Python – 如何合并文件夹中的所有Excel文件

在实际工作中,通常会遇到需要合并某个文件夹中的所有Excel文件的需求。使用Python可以快速自动化实现这个过程。本文将介绍如何使用Python来合并文件夹中的所有Excel文件。

阅读更多:Python 教程

导入模块

需要使用以下模块:

  • os:用于处理文件路径等操作
  • pandas:用于读取和合并Excel文件

Python中的os和pandas模块通常是预装的,因此我们只需要安装pandas模块即可。可以通过以下命令来安装:

pip install pandas

获取文件夹中的所有Excel文件

首先,我们需要获取文件夹中的所有Excel文件。可以使用os模块中的listdir函数获取文件夹中的所有文件,然后使用文件名的后缀名来筛选Excel文件。

import os

folder_path = '/path/to/folder'   # 文件夹路径
files = os.listdir(folder_path)  # 获取文件夹中的所有文件
excel_files = [f for f in files if f.endswith('.xlsx') or f.endswith('.xls')]  # 筛选Excel文件

在上面的代码中,我们使用变量folder_path来存储文件夹的路径。然后使用os.listdir函数获取文件夹中的所有文件,最后使用列表推导式将Excel文件保存在变量excel_files中。

合并Excel文件

接下来,我们需要将所有Excel文件合并。可以使用pandas模块中的read_excel函数将Excel文件读入DataFrame对象,并使用concat函数将DataFrame对象合并。

import pandas as pd

excels = [pd.read_excel(os.path.join(folder_path, f)) for f in excel_files]  # 读取所有Excel文件
combined = pd.concat(excels, ignore_index=True)  # 合并所有Excel文件为一个DataFrame对象

在上面的代码中,我们首先使用列表推导式和pd.read_excel函数读取所有Excel文件,并保存在列表excels中。然后使用pd.concat函数将所有excels列表中的DataFrame合并为一个DataFrame对象。ignore_index参数用于重置行索引。

保存合并后的Excel文件

最后,我们可以使用to_excel函数将合并后的DataFrame保存为一个新的Excel文件或者覆盖原有的Excel文件。

combined.to_excel('/path/to/combined.xlsx', index=False)  # 将合并后的DataFrame保存为一个新的Excel文件

在上面的代码中,我们使用to_excel函数将合并后的DataFrame对象保存为一个Excel文件。参数index=False用于避免在文件中添加行索引。

完整代码

将上面的代码合并起来,我们得到如下完整的Python脚本:

import os
import pandas as pd

folder_path = '/path/to/folder'   # 文件夹路径
files = os.listdir(folder_path)  # 获取文件夹中的所有文件
excel_files = [f for f in files if f.endswith('.xlsx') or f.endswith('.xls')]  # 筛选Excel文件

excels = [pd.read_excel(os.path.join(folder_path, f)) for f in excel_files]  # 读取所有Excel文件
combined = pd.concat(excels, ignore_index=True)  # 合并所有Excel文件为一个DataFrame对象

combined.to_excel('/path/to/combined.xlsx', index=False)  # 将合并后的DataFrame保存为一个新的Excel文件

结论

使用Python可以快速自动化合并文件夹中的所有Excel文件操作。以上介绍的方法可以轻松实现这个过程。在实际工作中,我们可以将这个过程封装为一个函数,以便在需要时进行调用。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程