简体   繁体   English

在 Dash 中动态填写下拉菜单

[英]Dynamically Fill Out Dropdown in Dash

I have an issue that after I run my sql statement in a data frame.在数据框中运行 sql 语句后,我遇到了一个问题。 I'm sure I'm missing something easy but its holding me up big time and I'm having issues getting my dashboard project even off the ground.我确定我错过了一些简单的东西,但它让我坚持了很长时间,而且我在让我的仪表板项目启动时也遇到了问题。

In the below code All I can get in the dropdown is UNUM when I run it and I can't figure out what I'm doing wrong to get my values out of it.在下面的代码中,当我运行它时,我在下拉列表中所能得到的只是 UNUM,我无法弄清楚我做错了什么来从中获取我的值。 I can print eqids with no issue but I can't iterate over it correctly.我可以毫无问题地打印 eqids 但我无法正确迭代它。 Thanks for the assistance感谢您的帮助

import dash
import dash_bootstrap_components as dbc
import dash_core_components as dcc
import dash_html_components as html
from dash.dependencies import Input, Output
import dash_table

import pandas as pd
import sqlite3

import plotly.graph_objs as go

external_stylesheets = ['https://codepen.io/chriddyp/pen/bWLwgP.css']

app = dash.Dash(__name__, external_stylesheets=external_stylesheets)

conn = sqlite3.connect(
    r"mysqlfile")
c = conn.cursor()

eqids = pd.read_sql("SELECT distinct UNUM FROM AllTestData", conn)
#names = list(eqids.keys())
print(eqids)
'''df = pd.read_sql("select * from AllTestData", conn)
df = df[['UNUM', 'DT_TAKEN', 'Iron', 'Chromium', 'Lead', 'Copper', 'Tin', 'Aluminum', 'Nickel', 'Silver', 'Silicon', 'boron', 'Sodium', 'Magnesium', 'Calcium', 'Barium', 'Phosphorous', 'Zinc',
         'Molybdenum', 'Tin1', 'Vandium', 'W', 'Potassium', 'Antimony', 'Lithium', 'Maganese', 'Cadmium', 'VISC40', 'TAN', 'KFISH', 'WATER', 'PC0', 'PC1', 'pc2', 'pc3', 'pc4', 'pc5', 'PCISO0', 'PCISO1', 'PCISO2']]
df.head(1)
'''

app.layout = html.Div([
    html.Label('Select Equipment ID'),
    dcc.Dropdown(
        id='equipment-list',
        options=[{'label': i, 'value': i} for i in eqids],
    ),
    dcc.Graph(id='test-graph')
    # html.Div(id='test-graph')
])


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

doh, I needed this eqids.UNUM in my options code.哦,我的选项代码中需要这个 eqids.UNUM。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM