📜  如何读取 Pandas 文件夹中的所有 CSV 文件?(1)

📅  最后修改于: 2023-12-03 14:53:18.359000             🧑  作者: Mango

如何读取 Pandas 文件夹中的所有 CSV 文件?

Python 中的 Pandas 库提供了强大而灵活的工具来处理和操作表格数据。处理常见的表格文件格式(如 CSV)是 Pandas 库的一个常见用例。

有时候,我们需要从一个文件夹中读取多个 CSV 文件,并将它们合并成一个 Pandas 数据框。在这种情况下,我们可以使用 Python 的 glob 模块来查找文件夹中的所有 CSV 文件,然后使用 Pandas 库将它们读取为数据帧,然后合并它们。

步骤 1:使用 glob 查找 CSV 文件

首先,我们需要导入 glob 模块,并使用其 glob 函数查找文件夹中所有 CSV 文件。

import glob

csv_files = glob.glob("path/to/folder/*.csv")

这将返回一个匹配模式的所有 CSV 文件的列表。在上面的示例中,我们使用的是 "path/to/folder/*.csv",它将返回位于 "path/to/folder" 文件夹中所有以 ".csv" 结尾的文件的列表。

> 请注意,"path/to/folder" 应替换为你要搜索的实际文件夹的路径。 
步骤 2:将 CSV 文件读取到 Pandas 数据帧

接下来,我们需要将所有 CSV 文件读取为 Pandas 数据帧。为此,我们可以使用 Pandas 库中的 read_csv 函数。有多种方法将多个数据源合并为一个 Pandas 数据框,例如使用 Pandas 库中的 concat 和 merge 函数。

import pandas as pd

dfs = []
for filename in csv_files:
    data = pd.read_csv(filename)
    dfs.append(data)

final_data = pd.concat(dfs, ignore_index=True)

在上面的代码示例中,我们首先定义了一个名为 dfs 的空数据框列表。然后,我们使用一个 for 循环遍历所有 CSV 文件,并使用 Pandas 的 read_csv 函数将其读入 Pandas 数据框。每个数据帧都被附加到 dfs 列表中。最后,使用 Pandas 库中的 concat 函数,将它们合并为一个数据帧。

完整代码
import glob
import pandas as pd

csv_files = glob.glob("path/to/folder/*.csv")

dfs = []
for filename in csv_files:
    data = pd.read_csv(filename)
    dfs.append(data)

final_data = pd.concat(dfs, ignore_index=True)

这里是如何在 Python 中使用 Pandas 库读取一个文件夹中的所有 CSV 文件并将它们合并为一个 Pandas 数据框。通过 glob 匹配文件夹中的所有文件,然后使用 Pandas 命令使用 read_csv 读取它们。使用 concat 函数将它们合并为单个数据帧。