目标是用CSV文件中的数据刷新Dash数据表,该CSV文件正在被另一个脚本连续修改。
下面的脚本可以做到这一点,但是我必须手动按F5键才能刷新表。我设法使用Firefox插件来模拟F5,但我希望数据表本机完成(显然是通过回调)。
其他一些问题似乎也提到了相同的问题,但是看不到如何整合回调。
对于如何将这些回调包含在以下脚本中的任何提示,我们深表感谢。
import dash
import dash_table
import pandas as pd
data_file = 'device_list.csv' # Real Dynamic data
df = pd.read_csv(data_file)
app = dash.Dash(__name__)
def serve_layout():
update_var = 1
update_var = update_var + 1
df = pd.read_csv(data_file)
return dash_table.DataTable(
id='table',
columns=[{"name": i, "id": i} for i in df.columns],
data=df.to_dict('records'),
style_cell={'textAlign': 'left'},
sort_action="native",
sort_mode='multi',
)
app.layout = serve_layout
if __name__ == '__main__':
app.run_server(debug=True, host='0.0.0.0', port=8050)