使用 Python Pandas 合并来自多个文件的 Excel 数据

pythonpandasserver side programmingprogramming

使用 Python Pandas 合并来自多个文件的 Excel 数据:简介

有效地合并和分析这些数据变得至关重要,因为公司要处理大量 Excel 文件中包含的大量数据。Python 强大的 Pandas 数据处理包提供了一种合并来自不同文件的 Excel 数据的优雅方法。通过分步说明和语法解释,本文将引导您完成该过程。我们还将介绍两种不同的方法,它们的示例、可执行代码和结果。

来自多个文件的 Excel 数据

将来自不同 Excel 文件的数据合并或连接到单个数据集的过程称为合并 Excel 数据。借助这种合并,数据分析师、科学家和商务人士可以进行彻底的分析并获得有见地的信息。通过合并来自多个来源的数据(如销售记录、客户信息或财务数据),可以找到联系、发现趋势并得出深刻的结论。

此外,合并 Excel 数据可以更轻松地清理和标准化数据,因为任何差异或缺失值都可以在合并过程中修复。这保证了数据的完整性和准确性,为数据驱动的决策、战略规划和可以实际实施以提高组织效率的建议奠定了基础。最后,合并 Excel 数据使用户能够充分利用其数据资产,并从复杂的数据集中提取有用的信息。

语法和说明

我们将主要使用 pandas.read_excel() 函数读取 Excel 文件,使用 pandas.concat() 函数连接数据框,以便使用 Python Pandas 连接 Excel 数据。

使用 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, ...])

数据框列表 ([df1, df2, df3, ...]) 被发送到 concat() 函数,该函数垂直连接数据框。输入数据框中的所有行都将包含在最终数据框中,称为 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 的功能有效地从复杂的数据集中提取有用的见解,使他们能够做出数据驱动的决策并促进公司成功。


相关文章