Я новичок в тире и пытаюсь создать базовую таблицу для отображения на IP-адресе, на которую все могут взглянуть. Это избавляет от необходимости отправлять электронные письма или размещать данные в каком-либо конкретном месте. Я использую следующий код для создания ОЧЕНЬ простой сводной таблицы, взятой из документации, но я хотел бы регулярно обновлять сводную панель. Я делаю это, используя планировщик задач, чтобы запускать код каждые 30 минут, убивая старый экземпляр. Таким образом, при обновлении data.csv в таблице будет отображаться новый фрейм данных.
import dash
import dash_core_components as dcc
import dash_html_components as html
import pandas as pd
df = pd.read_csv('data.csv')
def generate_table(dataframe, max_rows=30):
return html.Table(
# Header
[html.Tr([html.Th(col) for col in dataframe.columns])] +
# Body
[html.Tr([
html.Td(dataframe.iloc[i][col]) for col in dataframe.columns
]) for i in range(min(len(dataframe), max_rows))]
)
external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css']
app = dash.Dash(__name__, external_stylesheets=external_stylesheets)
app.layout = html.Div(children=[
html.H4(children='Title'),
generate_table(df, max_rows=len(df))
])
if __name__ == '__main__':
ADDRESS='100.100.100.100' #ipv4 address for computer code is run on
PORT=int(1000)
app.run_server(debug=True, host=ADDRESS, port=PORT)
Моя проблема в том, что, несмотря на перезапуск экземпляра и изменение csv, будут отображаться только исходные данные csv. Я могу исправить это, только изменив порт и запустив новое приложение, что не подходит для того, что я хочу. Как я могу заставить то же приложение обновляться новой информацией csv?