我在pandas中有一个名为interesttable的DataFrame,它随时间(秒)更新。我正在使用Dash plotly来显示数据帧。虽然我在Dash中成功显示了数据框,但我无法使用数据框中添加的新行更新Dash。我尝试以下但它不起作用。感谢您的反馈意见!
def generate_table():
return html.Table(
# Header
[html.Tr([html.Th(col) for col in interesttable.columns])] +
# Body
[html.Tr([html.Td(interesttable.iloc[i][col]) for col in interesttable.columns])
for i in range(min(len(interesttable), 50))]
)
app = dash.Dash()
app.layout = html.Div(children=[
html.H1(children='Interest Table'),
dcc.Interval(id='generate_table()',interval=1*1000),
generate_table()
])
app.callback(Output('generate_table()','children'), [Input('interesttable', 'n_intervals')])
if __name__ == '__main__':
app.run_server(debug=True)
不幸的是,我收到的错误是:
Here is a list of the available properties in "generate_table()":
['id','interval','disabled','n_intervals','max_intervals']
app.callback不应该是装饰者吗?
尝试:
@app.callback(Output('generate_table()','children'), [Input('interesttable', 'n_intervals')])
我也没有看到声明的n_intervals。
你应该添加它:
app.layout = html.Div(children=[html.H1(children='Interest Table'),
dcc.Interval(id='generate_table()',interval=1000,n_intervals=0 ),generate_table()])