在Python中列出值之后命名DataFrame

时间:2017-07-09 22:06:28

标签: python pandas dataframe

我希望加载到.csv的两个DataFrames个文件:

def loader(y):
    return pd.read_csv(y, header='infer',  encoding="ISO-8859+-1")

names = ['currency', 'debt_ratio']

for name in names:
    i = loader(name +'.csv')

我希望DataFrame的名称与.csv文件的名称相同。但是,每当我尝试下面的内容时,只需将DataFrame命名为“name”:

for name in names:
    name = loader(name +'.csv')

我很欣赏这可能是一个非常简单的解决方法 - 但我花了好几个小时试图解决它无济于事。

1 个答案:

答案 0 :(得分:2)

安全方法是使用字典:

df_dict = {}  
for name in names:
    df_dict[name] = loader(name +'.csv')

字典将您的csv名称映射到内存中的实际数据帧。这是安全的,不会污染globals()

作为如何使用此功能的说明,如果您想引用currency的特定数据帧,请使用df_dict['currency']

df_temp = df_dict['currency']