使用 Python Pandas 合并多个 Excel 文件中的数据
使用 Python Pandas 合并多个 Excel 文件中的数据:简介
随着企业处理包含在多个 Excel 文件中的海量数据,有效地合并和分析这些数据变得至关重要。Python 功能强大的 Pandas 数据处理库提供了一种优雅的方法来合并来自多个文件的 Excel 数据。本文将逐步指导您完成此过程,并解释语法。我们还将探讨完成这项工作的两种不同方法,包括示例、可执行代码和结果。
来自多个文件的 Excel 数据
将来自多个 Excel 文件的数据组合或连接到单个数据集中,称为合并 Excel 数据。这种合并使数据分析师、科学家和业务人士能够进行彻底的分析并获得有见地的信息。合并来自多个来源的数据(例如销售记录、客户信息或财务数据)可以发现关系、识别趋势并得出有价值的结论。
此外,合并 Excel 数据简化了数据的清理和标准化,因为在合并过程中可以纠正任何不一致之处或缺失值。这确保了数据的完整性和准确性,为数据驱动的决策、战略规划和可操作的建议奠定了基础,从而提高组织效率。最终,合并 Excel 数据使用户能够充分利用其数据资产,并从复杂的数据集中提取有价值的见解。
语法和解释
为了使用 Python Pandas 合并 Excel 数据,我们将主要使用 `pandas.read_excel()` 函数读取 Excel 文件,以及 `pandas.concat()` 函数连接数据框。
使用 Pandas 读取 Excel 文件的语法如下:
import pandas as pd df = pd.read_excel('file_path.xlsx')
这里 `pd` 用于引用 pandas 库。`read_excel()` 函数从 `'file_path.xlsx'` 参数指定的 Excel 文件中提取数据,并返回一个数据框 (df)。
使用 Pandas 连接多个数据框的语法如下:
combined_df = pd.concat([df1, df2, df3, ...])
`concat()` 函数接收一个数据框列表 ([df1, df2, df3,...]),并垂直连接这些数据框。最终数据框 `combined_df` 将包含来自输入数据框的所有行。
算法
步骤 1 - 导入 Pandas 和任何其他必要的库。
步骤 2 - 指定要合并的 Excel 文件的文件路径。
步骤 3 - 使用 `read_excel()` 函数打开每个 Excel 文件,并将数据框存储在不同的变量中。
步骤 4 - 使用 `concat()` 函数将数据框合并,并将它们作为列表传递。
步骤 5 - 如果需要进一步分析,则将合并后的数据框导出到新的 Excel 文件。
方法
方法 1 - 使用 For 循环合并 Excel 数据
方法 2 - 使用列表推导式合并 Excel 数据
方法 1:使用 For 循环合并 Excel 数据
在方法 1 中,我们首先定义一个空列表 `dfs` 来存储单个数据框。然后,使用 for 循环,我们通过迭代 `file_paths` 数组,使用 `pd.read_excel()` 读取每个 Excel 文件。结果是一个数据框,将其添加到 `dfs` 列表中。最后,我们使用 `pd.concat()` 将 `dfs` 中的所有数据框合并到一个名为 `combined_df` 的单个数据框中。
假设我们有三个 Excel 文件 (file1.xlsx、file2.xlsx 和 file3.xlsx),包含以下数据:
file1.xlsx ID Name Age 0 1 Tom 28 1 2 Emma 35 file2.xlsx ID Name Age 0 3 John 42 1 4 Sarah 31 file3.xlsx ID Name Age 0 5 Liam 29 1 6 Lily 27
示例
import pandas as pd file_paths = ['file1.xlsx', 'file2.xlsx', 'file3.xlsx'] dfs = [] # To store individual dataframes for file in file_paths: df = pd.read_excel(file) dfs.append(df) combined_df = pd.concat(dfs)
输出
ID Name Age 0 1 Tom 28 1 2 Emma 35 0 3 John 42 1 4 Sarah 31 0 5 Liam 29 1 6 Lily 27
结果数据框垂直合并了每个文件中的行。file1.xlsx 中数据的首行为 ID 1,姓名“Tom”,年龄 28 岁。第二行列出了 ID 2,“Emma”,年龄 35 岁。
然后,结果数据框用 file2.xlsx 中的数据补充。第三行包含 ID 3,“John”,年龄 42 岁。第四行包含 ID 4,姓名“Sarah”,年龄 31 岁。
然后添加 file3.xlsx 中的数据。第五行包含 ID 5,“Liam”,“29”和“Name”。第六行也是最后一行,ID 为 6,姓名为“Lily”,年龄 27 岁。
这将创建一个综合数据集,可根据需要准备进行进一步分析、处理或导出。因此,我们得到一个合并后的数据框,其中包含来自三个 Excel 文件的所有行。
方法 2:使用列表推导式合并 Excel 数据
第二种方法使用列表推导式,这是一种简洁而优雅的 Python 列表创建方法。在这里,我们使用 `pd.read_excel(file)` 作为列表推导式中的表达式,直接从 `file_paths` 列表创建数据框列表。这种方法消除了显式的 for 循环,从而使代码更紧凑。
假设我们有三个 Excel 文件 (file1.xlsx、file2.xlsx 和 file3.xlsx),包含以下数据:
file1.xlsx ID Name Age 0 1 Tom 28 1 2 Emma 35 file2.xlsx ID Name Age 0 3 John 42 1 4 Sarah 31 file3.xlsx ID Name Age 0 5 Liam 29 1 6 Lily 27
示例
import pandas as pd file_paths = ['file1.xlsx', 'file2.xlsx', 'file3.xlsx'] dfs = [pd.read_excel(file) for file in file_paths] combined_df = pd.concat(dfs)
输出
ID Name Age 0 1 Tom 28 1 2 Emma 35 0 3 John 42 1 4 Sarah 31 0 5 Liam 29 1 6 Lily 27
方法 2 的输出解释与方法 1 相同,因为两种方法都产生相同的输出。
结论
使用 Python Pandas 合并来自多个来源的 Excel 数据,是一种强大且灵活的方法,用于组合和分析大型数据集。在本文中,我们研究了完成此操作的两种不同方法,以及合并 Excel 数据的语法和分步说明。数据专业人员可以利用 Pandas 的功能有效地从复杂的数据集中提取有价值的见解,使他们能够做出数据驱动的决策并促进业务成功。