我在大熊猫中有一个Dataframe,叫做interesttable,它会随着时间(秒)而更新。我正在使用Dash来显示数据框。尽管我成功地在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']
答案 0 :(得分:0)
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()])