我正在尝试使用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循环。
答案 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