Недавно я пытался создать приложение с Dash , но, несмотря на просмотр множества руководств, я просто не могу понять, как импортировать кадр данных панд в таблицу данных Dash (которая по сути является пандой).фрейм данных, кроме размещенного в сети и реагирующего).
Большинство примеров иллюстрируют, как вручную выбирать определенные столбцы / строки, взятые из фрейма данных, который уже жестко задан в этом примере, как в здесь .Тем не менее, в моей ситуации, фрейм данных встроен в мой код (и pandas - самый простой способ сделать это), поэтому я в конечном итоге должен найти способ конвертировать pd.Dataframe()
в dash_table.DataTable()
.
Как я могу заставить эту работу?Используя ссылки, я попробовал следующий код, чтобы отправить диктовку моего фрейма данных на dash_table.DataTable()
, но ничего не отображается.
Мой код:
## Imports
import dash
import dash_core_components as dcc
import dash_html_components as html
import dash_table
from dash.dependencies import Input, Output, State
import datetime as dt
import pandas as pd
import numpy as np
## Custom functions that creates the pandas dataframe
from twitter_functions import old_tweets
app = dash.Dash(dev_tools_hot_reload=True)
app.scripts.config.serve_locally = True
app.config['suppress_callback_exceptions'] = True
app.layout = html.Div(children=[
html.H3('Twitter App'),
dcc.Input('ScreenName_Input', type='text'),
html.Button(id='screenNames_submit_button', children='Submit'),
dash_table.DataTable(id='tweet_table')
])
@app.callback(
Output(component_id='tweet_table', component_property='data'),
[Input(component_id='screenNames_submit_button', component_property='n_clicks_timestamp')],
[State(component_id='ScreenName_Input', component_property='value')]
)
def display_tweets(submit_button, screen_names):
tweets = old_tweets(screen_names)
return tweets.to_dict(orient='records')
if __name__ == '__main__':
app.run_server(debug=True)