使用python将多个excel文件合并到同一个文件的方法

  • Post category:Python

当需要处理多个Excel文件中的数据时,我们可能需要将这些文件中的数据整合到同一个Excel文件中,方便进行数据分析和处理。Python中的pandas库提供了强大的数据处理功能,可以快速地实现多个Excel文件的合并。下面是一个完整的实例教程:

步骤一:导入必要的库

首先需要导入必要的库,包括pandas、os和glob库。pandas用于Excel文件的读写和数据处理,os用于文件路径的处理,glob用于查找所有需要合并的Excel文件。

import os
import pandas as pd
import glob

步骤二:获取需要合并的文件名

通过使用glob库中的glob函数,可以很方便地查找符合条件的文件名。例如,下面代码将查找当前目录下所有以”.xlsx”结尾的文件。

excel_files = glob.glob("*.xlsx")

步骤三:读取Excel文件

使用pandas库的read_excel函数读取Excel文件,并将数据保存到DataFrame对象中。下面代码将读取当前目录下的第一个Excel文件,并将数据保存到一个名为df的DataFrame对象中。

df = pd.read_excel(excel_files[0])

步骤四:将多个Excel文件合并到同一个DataFrame对象中

使用pandas库的concat函数,将多个DataFrame对象合并到同一个DataFrame对象中。下面代码将读取当前目录下的所有Excel文件,并将它们合并到名为df的DataFrame对象中。

df = pd.concat([pd.read_excel(f) for f in excel_files])

步骤五:将DataFrame对象写入新的Excel文件

最后,使用pandas库的to_excel函数将DataFrame对象写入到新的Excel文件中。下面代码将数据保存到名为merged_excel.xlsx的Excel文件中。

df.to_excel("merged_excel.xlsx", index=False)

示例说明一:合并多个Excel文件的数据

假设我们有三个Excel文件data1.xlsx、data2.xlsx和data3.xlsx,并且每个文件中都有一个名为Sheet1的工作表。这三个工作表中的数据如下所示:

文件名:data1.xlsx

日期 销售额
2021/1/1 100
2021/1/2 200
2021/1/3 150

文件名:data2.xlsx

日期 销售额
2021/1/4 300
2021/1/5 250
2021/1/6 200

文件名:data3.xlsx

日期 销售额
2021/1/7 150
2021/1/8 200
2021/1/9 250

我们可以按照上述步骤,将这三个Excel文件合并到一个名为merged_excel.xlsx的Excel文件中。合并后的数据如下所示:

文件名:merged_excel.xlsx

日期 销售额
2021/1/1 100
2021/1/2 200
2021/1/3 150
2021/1/4 300
2021/1/5 250
2021/1/6 200
2021/1/7 150
2021/1/8 200
2021/1/9 250

示例说明二:合并指定文件夹下的Excel文件

假设我们有一个data文件夹,里面有多个Excel文件需要合并。我们可以使用os库的getcwd函数获取当前工作目录,然后将data文件夹路径和”*.xlsx”组合成需要搜索文件的路径。例如,下面代码将查找data文件夹下所有以”.xlsx”结尾的文件。

path = os.getcwd() + "/data/*.xlsx"
excel_files = glob.glob(path)

然后,按照上述步骤将这些Excel文件合并到一个名为merged_excel.xlsx的Excel文件中。