【发布时间】:2019-06-25 22:17:19
【问题描述】:
在回调中,根据用户输入创建数据框。我需要在另一个函数中使用该数据框,以便将其提供给用户。 我读到 server.route 可以使用 Flask SendFile 执行此操作,但我无法访问数据框,因为我无法使用全局变量。
我读到有一个隐藏的 div 方法,但我不知道如何从 python 内部访问 html div 属性。
'''
server = flask.Flask('app')
app = dash.Dash(__name__,
external_stylesheets=external_css,
server=server)
master = pd.read_csv('master_dataframe.csv')
@server.route("/downloadable/")
def download_file():
df = # The dataframe I need that is in the other function
buffer = io.BytesIO()
dff.to_excel(buffer) # write to BytesIO buffer
buffer.seek(0)
return send_file(
buffer,
attachment_filename='data.xlsx',
as_attachment=True,
cache_timeout=0
)
@app.callback(
Output('plot_button','n_clicks_timestamp'),
[Input('account_selector','value')]
)
def generate_layout(value):
df = make_something(master, value)
return html_layout
'''
【问题讨论】:
标签: python flask plotly-dash