Python Dash plotly更新表

问题描述 投票:0回答:1

我在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']
pandas dataframe callback plotly-dash
1个回答
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()])

© www.soinside.com 2019 - 2024. All rights reserved.