【问题标题】:Saving the data from plotly graph into csv or excel file将绘图中的数据保存到 csv 或 excel 文件中
【发布时间】:2021-03-17 06:55:41
【问题描述】:
我有一个 pandas 数据框,其中包含 1 个日期时间列 date、2 个类别类型列 cat_1 和 cat_2,以及一个计数列 ct。 ct 列中的每个数字对应于在特定date 上生成的两个cat_1 & cat_2 列的对应值中的项目计数。使用 plotly-Dash,我能够在本地系统上创建一个网页,我可以在其中选择 cat_1 和 cat_2 的多种组合,并能够查看 date v/s count_for_chosen_combo
情节,其中count_for_chosen_combo 是针对特定date 上cat_1 和cat_2 的选定组合生成的项目。现在我想知道我是否可以通过单击鼠标而不是手动将图形表示的所选组合的数据下载为 csv 或 xlsx 或任何其他格式?
【问题讨论】:
标签:
javascript
python
pandas
plotly
plotly-dash
【解决方案1】:
你需要的是:
- 接受下载链接/按钮点击事件的回调。作为此处的输入参数,您可以接受所有过滤器。 IE。下拉列表值
@app.callback(Output('my-link', 'href'), [Input('my-dropdown', 'value')])
def update_link(value):
return '/dash/urlToDownload?value={}'.format(value)
- 一个烧瓶路由,它将创建一个数据帧并使用
flask.send_file将其发送到机器
@app.server.route('/dash/urlToDownload')
def download_csv():
value = flask.request.args.get('value')
# use value to perform filter on your df
# now send the df using `send_file`.
return send_file(your_df,
mimetype='text/csv',
attachment_filename='downloadFile.csv',
as_attachment=True)