首页 > 解决方案 > 将多个 csv 文件读入单独的 pandas 数据帧

问题描述

我已经看到了一些关于将多个 csv 文件读入单独的 Pandas 数据帧的答案,但我仍然遇到了麻烦。我已将我的 csv 文件和文件名读入字典:

path = os.getcwd()
file_names = ['file1', 'thisisanotherfile', 'file3']

df_dict = {x: pd.read_csv('{}/{}.csv'.format(path, x)) for x in file_names}

这似乎有效: print(df_dict['file1'])

但是,我正在寻找的是一个名为“file1”的 Pandas 数据框,我可以在其中访问数据。

是否可以从字典中获取这些信息?每次我想访问数据时都必须在我的代码中调用字典吗?

标签: pythonpandascsvdataframe

解决方案


frame = list(df_dict.values())

这应该可以解决问题(根据这个答案)!

解释:调用返回的字典值df.values()是所谓的“视图”——这有点像速记响应,但它实际上并不是正确的存储值。这样做是为了提高效率,以便用户可以在访问之前预览该值。list(df.values()),然后,实际上将字典键的值转换为可用的形式 - 在这种情况下,您的数据帧。


推荐阅读