当需要处理多个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文件中。