Храните данные из черточки на внешнем объекте

#python-3.x #callback #plotly #plotly-dash

Вопрос:

Я сохранил df в формате JSON dcc.Store(id='store-csv') . Я хочу вытащить объект JSON и назначить его внешнему new_df (НЕ в тире). Как мне извлечь его из dcc.Store(id='store-csv') ?

Например :

 @app.callback(  Output('store-csv', 'data'),  Input('csv-input', 'value'))  def store_csv(csv_input):  df = pd.DataFrame(some_df)  return df.to_json(orient='split')  new_df = store_csv(csv_input) # Issue here. How to I store df (within dash) to new_df (not within dash)?  

Заранее спасибо.

Ответ №1:

Я не уверен, что именно вы хотите сделать, но одним из вариантов может быть использование какого-либо изменяемого ссылочного типа, такого как объект или словарь, для хранения самого последнего значения csv_input .

Упрощенный пример:

 data = {"value": ""}  @app.callback(Output("store", "data"), Input("input", "value")) def store_csv(input_value):  data["value"] = input_value # update data["value"]  return input_value  # Use data["value"] somewhere  

Однако в большинстве случаев вам не нужно этого делать, потому что вы можете просто обмениваться данными между различными обратными вызовами с использованием Input State значений или.