При обратном вызове кадр данных создается из пользовательских данных.Мне нужно использовать этот фрейм данных в другой функции, чтобы передать его пользователю.Я прочитал, что server.route может сделать это с помощью Flask SendFile, но я не могу получить доступ к кадру данных, поскольку не могу использовать глобальные переменные.
Я прочитал, что есть скрытый метод div, но я не знаюкак я могу получить доступ к html-свойству div изнутри python.
'' '
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
' ''