【发布时间】:2020-10-05 04:30:22
【问题描述】:
数据solar.csv:https://raw.githubusercontent.com/plotly/datasets/master/solar.csv
这是一个代码:
import dash
import dash_table
import dash_html_components as html
from dash.dependencies import Input, Output, State
import pandas as pd
from dash.exceptions import PreventUpdate
df = pd.read_csv('D:/solar.csv')
app = dash.Dash(__name__)
app.layout = html.Div([
dash_table.DataTable(
id='table',
columns=[{"name": i, "id": i} for i in df.columns],
data=df.to_dict("rows"),
editable=True
),
html.Button(id="save-button",n_clicks=0,children="Save"),
html.Div(id="output-1",children="Press button to save changes")
])
@app.callback(
Output("output-1","children"),
[Input("save-button","n_clicks")],
[State("table","data")]
)
def selected_data_to_csv(nclicks,table1):
if nclicks == 0:
raise PreventUpdate
else:
pd.DataFrame(table1).to_csv('D:/solar.csv',index=False)
return "Data Submitted"
if __name__ == '__main__':
app.run_server(debug=True)
当我从浏览器编辑表格中的数据并按下保存按钮后,修改后的数据正确保存在solar.csv 中。问题是,如果我刷新页面旧数据(未修改)数据就会显示出来。
我尝试了几种方法,例如在 selected_data_to_csv() 中使用全局变量,但没有任何运气。
问题:如何修改上面的代码,以便在我重新加载网页时显示修改后的数据?
原始码来自:Is it possible to export dash datatable to a specific location on disk or directly to SQL Server?
【问题讨论】:
标签: plotly dashboard plotly-dash