title: Python Dash application with drop down menu that selects excel file sheets and displays in a table
body: <p>I am in the process of learning Dash with the final goal being the development of an app that allows quick analysis of data sets in an excel file.  I'd like a drop down menu that will allow for switching between the sheets in the excel file.  I'm having trouble getting this to run properly.  I can make it output to a graph but not a table.  My code is as follows:</p>
  
  <pre><code>import dash
  from dash.dependencies import Input, Output
  import dash_core_components as dcc
  import dash_html_components as html
  import dash_table_experiments as dt
  import pandas as pd
  
  app = dash.Dash()
  
  df = pd.read_excel('output.xlsx', sheet_name=None)
  
  app.layout = html.Div(
      html.Div([dcc.Dropdown(id='drop_value',
                             options=[{'label': i, 'value': i} for i in df],
                             value='Sheet1')]),
      html.Div([dt.DataTable(rows=[{}],
                             id='table')])
  )
  
  
  @app.callback(Output('table', 'rows'), [Input('drop_value', 'value')])
  def update_info_table(drop_value):
      if drop_value == 'Sheet1':
          new_data = df['Sheet1'].to_dict()
          return new_data
      elif drop_value == 'Sheet2':
          new_data = df['Sheet2'].to_dict()
          return new_data
      else:
          new_data = df['Sheet3'].to_dict()
          return new_data
  
  
  if __name__ == '__main__':
      app.run_server()
  </code></pre>
  
  <p>When I run this code I get the following error:
  TypeError: <strong>init</strong>() takes from 1 to 2 positional arguments but 3 were given</p>
  
  <p>I'm assuming this has something to do with the format of the dataset I'm trying to feed to the datatable.  Right now I'm just using a dummy excel file with only two columns labeled 'x1' and 'y1'.</p>