首页 > 解决方案 > 下拉从 Python Dash 中的 SQL 中提取数据的问题

问题描述

我在下拉列表和 sql 方面遇到了一些问题,我想用 sql 中的选项填充下拉列表。

我没有收到任何错误,但我在下拉列表中得到的只是数据库中销售类别的列的名称。

这是在其他地方提取我的数据的 SQL:

def get_saletype_data():
    con = sqlite3.connect(str(DBFILE))
    saletypes = pd.read_sql_query("SELECT SaleCategory FROM SaleType", con)
    return saletypes

如果我打印输出,这就是它产生的结果:

  SaleCategory
0          Cut
1   Highlights
2    Gel Nails
3         Perm
4   Extensions
5       Fringe

这是应用程序中处理 sql 的代码:

salelist = get_saletype_data()
saletypedic = salelist.to_dict()

这是下拉菜单的代码:

dcc.Dropdown(
                    id="sales-type-dropdown",
                    options=[{'label':saletype, 'value':saletype} for saletype in saletypedic],
                ),

非常感谢对此的任何帮助,不知道为什么我只是在下拉列表中获得第一个选项

标签: pythonsqliteplotly-dash

解决方案


下拉组件需要一个list值。例如,

salelist = get_saletype_data()
salestypes = salelist['SaleCategory'].tolist()

现在在您的下拉列表中使用salestypes

dcc.Dropdown(
                id="sales-type-dropdown",
                options=[{'label':saletype, 'value':saletype} for saletype in saletypes],
            ),

推荐阅读