从函数返回多个pandas.DataFrames并导出为不同的文件?

时间:2018-07-24 19:26:31

标签: python python-2.7

<div>
    <Switch>
      <Route
          exact path="/"
          render={props => (
              <LoginContainer {...props} setTitle={this.setTitle} />
          )}
      />
      <Route path="/:subpath" component={TopMenuComponent} />
    </Switch>           
    <Route path='/landing' component={LandingComponent} />
</div>

我需要从结果中提取单个df并导出为.xlsx

2 个答案:

答案 0 :(得分:0)

您的函数将返回一个可迭代的元组。您可以这样导出结果:

import uuid
writer = pd.ExcelWriter('output.xlsx')

for r in result:
    r.to_excel(writer, str(uuid.uuid4()))

这将以.xlsx格式写入文件,并为每个文件分配一个唯一的名称。

希望这会有所帮助!

答案 1 :(得分:0)

您可以使用序列拆包:

def myfunc(arg1,arg2):
    df1 = pd.Datframe() #uses arg1 and arg2; df1 has 10cols & 100rows
    df2 = pd.Datframe() #uses arg1 and arg2; df2 has 4cols & 10rows
    return df1, df2

df1, df2 = myfunc(arg1,arg2)

df1.to_excel('data1.xlsx')
df2.to_excel('data2.xlsx')

或者您可以循环访问:

for idx, df in enumerate(myfunc(arg1, arg2)):
    df.to_excel('data{0}.xlsx'.format(idx))