python - 将多个 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 数据框,我可以在其中访问数据。
是否可以从字典中获取这些信息?每次我想访问数据时都必须在我的代码中调用字典吗?
解决方案
frame = list(df_dict.values())
这应该可以解决问题(根据这个答案)!
解释:调用返回的字典值df.values()
是所谓的“视图”——这有点像速记响应,但它实际上并不是正确的存储值。这样做是为了提高效率,以便用户可以在访问之前预览该值。list(df.values())
,然后,实际上将字典键的值转换为可用的形式 - 在这种情况下,您的数据帧。