Загрузить данные через callback в Dash

Формируется таблица данных по пациенту. Сами данные грузятся из csv файла.

Код таблицы:

df =None

if os.path.isfile('patient_filter.csv'):
    df = pd.read_csv("patient_filter.csv")


def update_patient_record(dataframe):
if os.path.isfile('patient_filter.csv'):


    id=dataframe['id'].values
    day=dataframe['AnalyzeTime'].values
    pfn=dataframe['Patient first name'].values
    pln=dataframe['Patient last name'].values
    pdb=dataframe['Patient day of birth'].values
    study=dataframe['Study'].values
    status=dataframe['Status'].values
    return [

    dbc.FormGroup(
        [
            dbc.Label('id', html_for='id'),
            dbc.Input(
                id = 'id',
                type = 'number',
                value=id[0]
            ),
            ]),

    dbc.FormGroup(
        [
            dbc.Label('AnalyzeTime', html_for='at'),
            dbc.Input(
                id = 'day',
                type='text',
                value=day[0]
                ),

        ]),

    dbc.FormGroup(
        [
            dbc.Label('Patient first name', html_for='pfn'),
            dbc.Input(
                id = 'pfn',
                type='text',
                value=pfn[0]
            ),
        ]),
    dbc.FormGroup(
        [
            dbc.Label('Patient last name', html_for='pln'),
            dbc.Input(
                id = 'pln',
                type='text',
                value=pln[0]
            ),
        ]),
    dbc.FormGroup(
        [
            dbc.Label('Patient day of birth',html_for='pdb'),
            dbc.Input(
                id='pdb',
                type='text',
                value=pdb[0]
            ),
        ]),
    dbc.FormGroup(
        [
            dbc.Label('Study',html_for='study'),
            dbc.Input(
                id='study',
                type='text',
                value=study[0]
            ),
        ]),
    dbc.FormGroup(
        [
            dbc.Label('Status',html_for='status'),
            dbc.Input(
                id='status',
                type='text',
                value=status[0]
            ),
        ]),
]

Сама функция update_patient_record вызывается здесь:

layout = dbc.Container(
fluid=True,
children=[
    html.H1([dbc.Badge("Patient Record", className="pr", color='dark')]),
    html.Br(),

    dbc.Row([
        dbc.Col(id='tab-patient',style=TAB_STYLE,width=4,children=update_patient_record(df)),
    ]),
   

],),

Файл csv периодически меняется, но таблица с данными не меняется, пока не перезагружу сервер. Как правильно написать Callback для подгрузки новых данных?


Ответы (0 шт):