首页 >后端开发 >Python教程 >如何在 Python 中将多个 CSV 文件合并到单个 Pandas DataFrame 中?

如何在 Python 中将多个 CSV 文件合并到单个 Pandas DataFrame 中?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-12-28 14:02:10896浏览

How Can I Combine Multiple CSV Files into a Single Pandas DataFrame in Python?

在 Python 中将多个 CSV 文件合并到单个 DataFrame

此任务的目标是将多个 CSV 文件从一个目录导入到单个 pandas DataFrame 中。以下是实现此操作的方法:

导入必要的库

首先,导入文件处理和数据操作所需的库:

import pandas as pd
import glob
import os

读取和连接 CSV 文件

要读取并连接 CSV 文件,请按照以下步骤操作步骤:

  1. 获取文件名:使用 glob.glob() 获取指定目录下的 CSV 文件名列表。
  2. 读取文件并创建 DataFrames: 将每个 CSV 文件读入 pandas DataFrame。
  3. 连接 DataFrame: 使用 pd.concat() 方法将所有 DataFrame 连接成一个 DataFrame。

连接代码

这是一个结合了这些的示例代码步骤:

# Get file names
path = r"C:\DRO\DCL_rawdata_files"
filenames = glob.glob(os.path.join(path, "*.csv"))

dfs = []
for filename in filenames:
    dfs.append(pd.read_csv(filename, header=0))

# Concatenate data into one DataFrame
big_frame = pd.concat(dfs, ignore_index=True)

向 DataFrame 添加身份

要区分不同 CSV 文件中的数据,您可以添加一个新列来标识每个文件。以下是执行此操作的几个选项:

选项 1:将文件名添加为列

for df in dfs:
    df["file_name"] = df.file_name.str.split("\").str[-1].str.split(".")[0]

选项 2:将文件源添加为列列

df["Source"] = np.repeat([f"File{i}" for i in range(len(dfs))], [len(df) for df in dfs])

结论

通过执行以下步骤,您可以在 Python 中高效地将多个 CSV 文件导入到单个内聚的 DataFrame 中,从而轻松分析和处理来自各种不同类型的数据来源。

以上是如何在 Python 中将多个 CSV 文件合并到单个 Pandas DataFrame 中?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn