从Pandas函数返回多个DataFrame

时间:2017-07-26 06:47:24

标签: python excel pandas dataframe

我正在尝试使用Pandas将多个excel表解析为单独的单个DataFrame。

到目前为止我的代码是:

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循环。

1 个答案:

答案 0 :(得分:1)

可以baseurl

null

但更好的是使用globals的{​​{1}},for i, val in enumerate(df_names): globals()['df_' + str(vals)] = initilize_dataframes(sheet_names[i]) dict的位置选择,但需要减去DataFrames,因为python来自{{1} }}:

sheet_names