API defined dataframe (dynamically generated) into Table (Dash_Table_Experiments)












0















Does anyone know how to dynamically generate a TABLE of data based on the user input using Dash_Table_Experiments (Python code)?



This code is static, however, I would like to find a way to make it dynamic. Thus, when a user enters a ticker symbol the TABLE will automatically update with the pertinent data below the chart.



The dataframe will change because it is generated from an api (i.e. Alpha Vantage), thus it cannot be defined as a static table. See code below.



import dash
import dash_core_components as dcc
import dash_html_components as html
import dash_table_experiments as dt
import json
import pandas as pd
from alpha_vantage.timeseries import TimeSeries

print(dcc.__version__) # 0.6.0 or above is required

app = dash.Dash()
ts = TimeSeries(key='', output_format='pandas')
data1, meta_data = ts.get_daily(symbol=inputsymbol, outputsize='full')
date=data1.reset_index(level=['date'])
df=(date.tail(10))
DF_SIMPLE = df

app.config.supress_callback_exceptions = True
app.scripts.config.serve_locally = True

app.layout = html.Div([
dcc.Location(id='url', refresh=False),
html.Div(id='page-content'),
html.Div(dt.DataTable(rows=[{}]), style={'display': 'none'})
])


index_page = html.Div([
html.H1('Page Home'),
html.Br(),
dcc.Link('Go to Home', href='/'),
html.Br(),
dcc.Link('Go to Page 1', href='/page-1'),
])

page_1_layout = html.Div([
html.H1('Page 1'),
html.Br(),
dcc.Link('Go back to home', href='/'),

html.H4('DataTable'),
dt.DataTable(
rows=DF_SIMPLE.to_dict('records'),

# optional - sets the order of columns
#columns=sorted(DF_SIMPLE.columns),

editable=False,

id='editable-table'
),
html.Div([
html.Pre(id='output', className="two columns"),
html.Div(
dcc.Graph(
id='graph',
style={
'overflow-x': 'wordwrap'
}
),
className="ten columns"
)
], className="row"),

])

@app.callback(
dash.dependencies.Output('output', 'children'),
[dash.dependencies.Input('editable-table', 'rows')])
def update_selected_row_indices(rows):
return json.dumps(rows, indent=2)

@app.callback(
dash.dependencies.Output('graph', 'figure'),
[dash.dependencies.Input('editable-table', 'rows')])
def update_figure(rows):
dff = pd.DataFrame(rows)
return {
'data': [{
'x': dff['x'],
'y': dff['y'],
}],
'layout': {
'margin': {'l': 10, 'r': 0, 't': 10, 'b': 20}
}
}

# Update the index
@app.callback(dash.dependencies.Output('page-content', 'children'),
[dash.dependencies.Input('url', 'pathname')])
def display_page(pathname):
if pathname == '/page-1':
return page_1_layout
else:
return index_page
app.css.append_css({
'external_url': 'https://codepen.io/chriddyp/pen/bWLwgP.css'
})

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









share|improve this question





























    0















    Does anyone know how to dynamically generate a TABLE of data based on the user input using Dash_Table_Experiments (Python code)?



    This code is static, however, I would like to find a way to make it dynamic. Thus, when a user enters a ticker symbol the TABLE will automatically update with the pertinent data below the chart.



    The dataframe will change because it is generated from an api (i.e. Alpha Vantage), thus it cannot be defined as a static table. See code below.



    import dash
    import dash_core_components as dcc
    import dash_html_components as html
    import dash_table_experiments as dt
    import json
    import pandas as pd
    from alpha_vantage.timeseries import TimeSeries

    print(dcc.__version__) # 0.6.0 or above is required

    app = dash.Dash()
    ts = TimeSeries(key='', output_format='pandas')
    data1, meta_data = ts.get_daily(symbol=inputsymbol, outputsize='full')
    date=data1.reset_index(level=['date'])
    df=(date.tail(10))
    DF_SIMPLE = df

    app.config.supress_callback_exceptions = True
    app.scripts.config.serve_locally = True

    app.layout = html.Div([
    dcc.Location(id='url', refresh=False),
    html.Div(id='page-content'),
    html.Div(dt.DataTable(rows=[{}]), style={'display': 'none'})
    ])


    index_page = html.Div([
    html.H1('Page Home'),
    html.Br(),
    dcc.Link('Go to Home', href='/'),
    html.Br(),
    dcc.Link('Go to Page 1', href='/page-1'),
    ])

    page_1_layout = html.Div([
    html.H1('Page 1'),
    html.Br(),
    dcc.Link('Go back to home', href='/'),

    html.H4('DataTable'),
    dt.DataTable(
    rows=DF_SIMPLE.to_dict('records'),

    # optional - sets the order of columns
    #columns=sorted(DF_SIMPLE.columns),

    editable=False,

    id='editable-table'
    ),
    html.Div([
    html.Pre(id='output', className="two columns"),
    html.Div(
    dcc.Graph(
    id='graph',
    style={
    'overflow-x': 'wordwrap'
    }
    ),
    className="ten columns"
    )
    ], className="row"),

    ])

    @app.callback(
    dash.dependencies.Output('output', 'children'),
    [dash.dependencies.Input('editable-table', 'rows')])
    def update_selected_row_indices(rows):
    return json.dumps(rows, indent=2)

    @app.callback(
    dash.dependencies.Output('graph', 'figure'),
    [dash.dependencies.Input('editable-table', 'rows')])
    def update_figure(rows):
    dff = pd.DataFrame(rows)
    return {
    'data': [{
    'x': dff['x'],
    'y': dff['y'],
    }],
    'layout': {
    'margin': {'l': 10, 'r': 0, 't': 10, 'b': 20}
    }
    }

    # Update the index
    @app.callback(dash.dependencies.Output('page-content', 'children'),
    [dash.dependencies.Input('url', 'pathname')])
    def display_page(pathname):
    if pathname == '/page-1':
    return page_1_layout
    else:
    return index_page
    app.css.append_css({
    'external_url': 'https://codepen.io/chriddyp/pen/bWLwgP.css'
    })

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









    share|improve this question



























      0












      0








      0








      Does anyone know how to dynamically generate a TABLE of data based on the user input using Dash_Table_Experiments (Python code)?



      This code is static, however, I would like to find a way to make it dynamic. Thus, when a user enters a ticker symbol the TABLE will automatically update with the pertinent data below the chart.



      The dataframe will change because it is generated from an api (i.e. Alpha Vantage), thus it cannot be defined as a static table. See code below.



      import dash
      import dash_core_components as dcc
      import dash_html_components as html
      import dash_table_experiments as dt
      import json
      import pandas as pd
      from alpha_vantage.timeseries import TimeSeries

      print(dcc.__version__) # 0.6.0 or above is required

      app = dash.Dash()
      ts = TimeSeries(key='', output_format='pandas')
      data1, meta_data = ts.get_daily(symbol=inputsymbol, outputsize='full')
      date=data1.reset_index(level=['date'])
      df=(date.tail(10))
      DF_SIMPLE = df

      app.config.supress_callback_exceptions = True
      app.scripts.config.serve_locally = True

      app.layout = html.Div([
      dcc.Location(id='url', refresh=False),
      html.Div(id='page-content'),
      html.Div(dt.DataTable(rows=[{}]), style={'display': 'none'})
      ])


      index_page = html.Div([
      html.H1('Page Home'),
      html.Br(),
      dcc.Link('Go to Home', href='/'),
      html.Br(),
      dcc.Link('Go to Page 1', href='/page-1'),
      ])

      page_1_layout = html.Div([
      html.H1('Page 1'),
      html.Br(),
      dcc.Link('Go back to home', href='/'),

      html.H4('DataTable'),
      dt.DataTable(
      rows=DF_SIMPLE.to_dict('records'),

      # optional - sets the order of columns
      #columns=sorted(DF_SIMPLE.columns),

      editable=False,

      id='editable-table'
      ),
      html.Div([
      html.Pre(id='output', className="two columns"),
      html.Div(
      dcc.Graph(
      id='graph',
      style={
      'overflow-x': 'wordwrap'
      }
      ),
      className="ten columns"
      )
      ], className="row"),

      ])

      @app.callback(
      dash.dependencies.Output('output', 'children'),
      [dash.dependencies.Input('editable-table', 'rows')])
      def update_selected_row_indices(rows):
      return json.dumps(rows, indent=2)

      @app.callback(
      dash.dependencies.Output('graph', 'figure'),
      [dash.dependencies.Input('editable-table', 'rows')])
      def update_figure(rows):
      dff = pd.DataFrame(rows)
      return {
      'data': [{
      'x': dff['x'],
      'y': dff['y'],
      }],
      'layout': {
      'margin': {'l': 10, 'r': 0, 't': 10, 'b': 20}
      }
      }

      # Update the index
      @app.callback(dash.dependencies.Output('page-content', 'children'),
      [dash.dependencies.Input('url', 'pathname')])
      def display_page(pathname):
      if pathname == '/page-1':
      return page_1_layout
      else:
      return index_page
      app.css.append_css({
      'external_url': 'https://codepen.io/chriddyp/pen/bWLwgP.css'
      })

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









      share|improve this question
















      Does anyone know how to dynamically generate a TABLE of data based on the user input using Dash_Table_Experiments (Python code)?



      This code is static, however, I would like to find a way to make it dynamic. Thus, when a user enters a ticker symbol the TABLE will automatically update with the pertinent data below the chart.



      The dataframe will change because it is generated from an api (i.e. Alpha Vantage), thus it cannot be defined as a static table. See code below.



      import dash
      import dash_core_components as dcc
      import dash_html_components as html
      import dash_table_experiments as dt
      import json
      import pandas as pd
      from alpha_vantage.timeseries import TimeSeries

      print(dcc.__version__) # 0.6.0 or above is required

      app = dash.Dash()
      ts = TimeSeries(key='', output_format='pandas')
      data1, meta_data = ts.get_daily(symbol=inputsymbol, outputsize='full')
      date=data1.reset_index(level=['date'])
      df=(date.tail(10))
      DF_SIMPLE = df

      app.config.supress_callback_exceptions = True
      app.scripts.config.serve_locally = True

      app.layout = html.Div([
      dcc.Location(id='url', refresh=False),
      html.Div(id='page-content'),
      html.Div(dt.DataTable(rows=[{}]), style={'display': 'none'})
      ])


      index_page = html.Div([
      html.H1('Page Home'),
      html.Br(),
      dcc.Link('Go to Home', href='/'),
      html.Br(),
      dcc.Link('Go to Page 1', href='/page-1'),
      ])

      page_1_layout = html.Div([
      html.H1('Page 1'),
      html.Br(),
      dcc.Link('Go back to home', href='/'),

      html.H4('DataTable'),
      dt.DataTable(
      rows=DF_SIMPLE.to_dict('records'),

      # optional - sets the order of columns
      #columns=sorted(DF_SIMPLE.columns),

      editable=False,

      id='editable-table'
      ),
      html.Div([
      html.Pre(id='output', className="two columns"),
      html.Div(
      dcc.Graph(
      id='graph',
      style={
      'overflow-x': 'wordwrap'
      }
      ),
      className="ten columns"
      )
      ], className="row"),

      ])

      @app.callback(
      dash.dependencies.Output('output', 'children'),
      [dash.dependencies.Input('editable-table', 'rows')])
      def update_selected_row_indices(rows):
      return json.dumps(rows, indent=2)

      @app.callback(
      dash.dependencies.Output('graph', 'figure'),
      [dash.dependencies.Input('editable-table', 'rows')])
      def update_figure(rows):
      dff = pd.DataFrame(rows)
      return {
      'data': [{
      'x': dff['x'],
      'y': dff['y'],
      }],
      'layout': {
      'margin': {'l': 10, 'r': 0, 't': 10, 'b': 20}
      }
      }

      # Update the index
      @app.callback(dash.dependencies.Output('page-content', 'children'),
      [dash.dependencies.Input('url', 'pathname')])
      def display_page(pathname):
      if pathname == '/page-1':
      return page_1_layout
      else:
      return index_page
      app.css.append_css({
      'external_url': 'https://codepen.io/chriddyp/pen/bWLwgP.css'
      })

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






      python dash alphavantage






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited Nov 13 '18 at 17:58







      K S

















      asked Oct 11 '18 at 15:23









      K SK S

      12




      12
























          0






          active

          oldest

          votes











          Your Answer






          StackExchange.ifUsing("editor", function () {
          StackExchange.using("externalEditor", function () {
          StackExchange.using("snippets", function () {
          StackExchange.snippets.init();
          });
          });
          }, "code-snippets");

          StackExchange.ready(function() {
          var channelOptions = {
          tags: "".split(" "),
          id: "1"
          };
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function() {
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled) {
          StackExchange.using("snippets", function() {
          createEditor();
          });
          }
          else {
          createEditor();
          }
          });

          function createEditor() {
          StackExchange.prepareEditor({
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader: {
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          },
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          });


          }
          });














          draft saved

          draft discarded


















          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f52763721%2fapi-defined-dataframe-dynamically-generated-into-table-dash-table-experiments%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown

























          0






          active

          oldest

          votes








          0






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes
















          draft saved

          draft discarded




















































          Thanks for contributing an answer to Stack Overflow!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid



          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.


          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function () {
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f52763721%2fapi-defined-dataframe-dynamically-generated-into-table-dash-table-experiments%23new-answer', 'question_page');
          }
          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Full-time equivalent

          Bicuculline

          さくらももこ