将多个 csv 读入 Pandas 中的单独数据帧

Gau*_*sal 2 python dataframe pandas

我有一个很长的 csv 文件列表,我想将它们读取为数据帧并按文件名命名它们。例如,我想读取文件 status.csv 并为其数据帧分配名称status。有没有办法可以使用 Pandas 有效地做到这一点?

看看这个,我仍然需要在循环中写入每个 csv 的名称。我想避免这种情况。

看看这个,这允许我将多个 csv 读入一个数据帧而不是多个。

knh*_*190 8

您可以使用列出目录下的所有 csvos.listdir(dirname)并将其与os.path.basename解析文件名结合起来。

import os

# current directory csv files
csvs = [x for x in os.listdir('.') if x.endswith('.csv')]
# stats.csv -> stats
fns = [os.path.splitext(os.path.basename(x))[0] for x in csvs]

d = {}
for i in range(len(fns)):
    d[fns[i]] = pd.read_csv(csvs[i])
Run Code Online (Sandbox Code Playgroud)