Dash app not reading modified file on refreshing the browser

@waly01 a sample could be like this


import os
import pandas as pd
from dash import Dash, callback_context, no_update
from dash.dependencies import Input, Output
from dash_table import DataTable
import dash_core_components as dcc
import dash_html_components as html

path = "demo.csv"
df = pd.read_csv(path)
lastmt = os.stat(path).st_mtime
print(lastmt)
app = Dash(__name__)
app.layout = html.Div(
    [
        DataTable(
            id="table",
            columns=[{"name": i, "id": i} for i in df.columns],
            data=df.to_dict("records"),
            export_format="csv",
        ),
        dcc.Interval(id='interval', interval=1000, n_intervals=0)
    ]
)

@app.callback(Output('table', 'data'), [Input('interval', 'n_intervals')])
def trigger_by_modify(n):
    if os.stat(path).st_mtime > lastmt:
        print("modified")
        lastmt = os.stat(path).st_mtime
        return pd.read_csv(path).to_dict('records')
    return no_update

if __name__ == "__main__":
    app.run_server(debug=True)

2 Likes