使用 Python Pandas 合并来自多个文件的 Excel 数据
使用 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 的功能有效地从复杂的数据集中提取有用的见解,使他们能够做出数据驱动的决策并促进公司成功。