Python 通过弹出窗口将仪表板数据表保存到excel或csv
是否可以使用标准弹出窗口本地保存仪表板数据表?在哪里可以选择位置、文件名等Python 通过弹出窗口将仪表板数据表保存到excel或csv,python,plotly-dash,Python,Plotly Dash,是否可以使用标准弹出窗口本地保存仪表板数据表?在哪里可以选择位置、文件名等 谢谢 我不确定是否可以使用默认的表导出机制(通过设置export\u format参数启用)实现所需的行为,但可以使用下载组件从仪表板扩展==0.0.28完成。这是后者的一个小例子 import dash import dash_html_components as html import pandas as pd from dash.dependencies import Output, Input, State f
谢谢 我不确定是否可以使用默认的表导出机制(通过设置
export\u format
参数启用)实现所需的行为,但可以使用下载组件从仪表板扩展==0.0.28
完成。这是后者的一个小例子
import dash
import dash_html_components as html
import pandas as pd
from dash.dependencies import Output, Input, State
from dash_extensions import Download
from dash_table import DataTable
from dash_extensions.snippets import send_data_frame
dt = DataTable(columns=[{"id": v, "name": v} for v in range(5)], data=[{v: v * 10 for v in range(5)}], id="table")
app = dash.Dash(prevent_initial_callbacks=True)
app.layout = html.Div([dt, html.Button("Download", id="btn"), Download(id="download")])
@app.callback(Output("download", "data"), [Input("btn", "n_clicks")], [State("table", "data")])
def download_table(n_clicks, data):
df = pd.DataFrame.from_records(data)
return send_data_frame(df.to_csv, "some_data.csv", index=False)
if __name__ == "__main__":
app.run_server()
编辑:根据Dash 1.20.0,下载的组件已合并到Dash核心组件中。因此,可以在不使用任何第三方库的情况下重写上述示例
import dash
import dash_html_components as html
import dash_core_components as dcc
import pandas as pd
from dash.dependencies import Output, Input, State
from dash_table import DataTable
dt = DataTable(columns=[{"id": v, "name": v} for v in range(5)], data=[{v: v * 10 for v in range(5)}], id="table")
app = dash.Dash(prevent_initial_callbacks=True)
app.layout = html.Div([dt, html.Button("Download", id="btn"), dcc.Download(id="download")])
@app.callback(Output("download", "data"), [Input("btn", "n_clicks")], [State("table", "data")])
def download_table(n_clicks, data):
df = pd.DataFrame.from_records(data)
return dcc.send_data_frame(df.to_csv, "some_data.csv", index=False)
if __name__ == "__main__":
app.run_server()
您尝试过标准导出功能吗?我找不到有关它的信息,我发现dash文档很难导航。这里提到了export_列、export_头和export_格式,但我没有看到如何使用它的示例。您是否有显示此内容的链接?如果您添加export_format=“csv”,我相信应该会显示一个export按钮。好的,虽然它只是下载它,但这确实有效,我没有设置文件名或位置的选项,因此我将保留问题。谢谢,我刚试过,但是没有弹出窗口,它只是下载到下载文件夹。但是谢谢你在使用什么操作系统/浏览器?我也是-我看到了弹出窗口。可能您在浏览器设置中禁用了弹出窗口?要查看,请转到“chrome://settings/downloads并检查“下载前询问保存每个文件的位置”是否已打开。这是一个很棒的工具。然而,这并不是下载我的完整数据表(一个非常大的数据表),为什么?