用Pandas从函数返回多个DataFrame

我试图parsing多个Excel与pandas分为单独的个人数据框。

我的代码到目前为止是:

sheet_names =[tab1, tab2] df_names = [1,2] def initilize_dataframes(sheet_names): for name in sheet_names: df = xls_file.parse(name) #parse the xlxs sheet df = df.transpose() #transpose dates to index new_header = df.iloc[0] #column header names df = df[1:] #drop 1st row df.rename(columns=new_header, inplace= True) #rename the columns return df` ` for i in df_names: df_(i) = initilize_dataframes(sheet_names)#something like this idk 

最后两行我不能包裹我的头。 我得到该函数将返回df,但我希望它从df_names列表中取值。 并相应地标记DataFrame。

例如,在Excel工作表中的tab1中,DataFrame应该被命名为df_1,并分别为tab2和df_2循环。

这是可能的globals

 for i, val in enumerate(df_names): globals()['df_' + str(vals)] = initilize_dataframes(sheet_names[i]) 

但更好的是使用DataFrames dictDataFramesenumerateselect位置,但需要减1 ,因为python从0计数:

 dfs = {} for i, val in enumerate(df_names): dfs[val] = initilize_dataframes(sheet_names[i]) print (dfs[1])