将多个csv文件读入单独的pandas数据帧

2024-05-05 00:36:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我已经看到了一些关于将多个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数据框,在这里我可以访问数据。在

有可能从字典里得到这些信息吗?每次我想访问数据时都必须在代码中调用字典吗?在


Tags: 文件csv数据path答案pandasdf字典
3条回答

试试这个:

import pandas as pd
import os

# get folder path
folder_path = os.getcwd()
file_names = ['Siddhartha', 'employee_file2']

for file in file_names:
    final_df = file+"_df"
    print("Dataframe name : "+final_df)

    filename = file+".csv"
    final_df = pd.read_csv(filename)
    print(final_df.head())

将它们转换为变量不是很有效,但如果必须,请执行以下操作:

locals().update(df_dict)

在函数内部执行以下操作:

^{pr2}$
frame = list(df_dict.values())

这应该能搞定(as per this answer)!在

说明:与df.values()调用一起返回的字典值称为“视图”—这有点像速记响应,但实际上它不是正确的存储值。这样做是为了提高效率,这样用户可以在访问值之前预览它。list(df.values())然后,实际上将字典键的值转换成一种可用的形式——在本例中,就是您的数据帧。在

相关问题 更多 >