python - 在PYTHON中将多个文件读入单独的数据帧

标签 python pandas glob

我想知道在python中是否有一种方法可以从一个文件夹中读取多个CSV文件,并根据文件名将其分配给单独的数据帧。下面的代码将抛出一个错误,但为了显示我粘贴的点

import glob
for filename in glob.glob('*.csv'):
    index = filename.find(".csv")
    if "test" in filename:
        filename[:index]) = pd.read_csv(filename)

最佳答案

我相信您需要用dictionary of DataFrame按文件名创建keys

d = {}
for filename in glob.glob('*.csv'):
    if "test" in filename:
        d[filename[:-4]] = pd.read_csv(filename)

什么是相同的:
d = {f[:-4]: pd.read_csv(f) for f in glob.glob('*.csv') if "test" in f}

如果只需要文件名,可以使用:
d = {os.path.basename(f).split('.')[0]:pd.read_csv(f) for f in glob.glob('*.csv') if "test" in f}

关于python - 在PYTHON中将多个文件读入单独的数据帧,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49009354/

相关文章:

python - 在 pandas DataFrame 中的任何位置搜索值

python - 如何强制 pandas .loc 返回系列

python - 具有特定列聚合功能的 Pandas df.resample

c - C 中的 Glob 函数仅给出一个结果

file - 如何使用 CMake 将多个文件列表合并在一起?

python - 迭代嵌套列表以获取键值对

python - 我应该如何调整下面的选择排序代码使其足以工作,同时看起来仍然有点相同? Python

Ruby:从目录中获取前几个文件?

Python hashlib 没有为 md5 生成正确的哈希值

python - 将任务延迟到特定时间