首页 > 解决方案 > 在python中使用破折号的默认下拉菜单

问题描述

我是 pycharm/dash 的新手。我有两个文件:

文件 1:每个城市的默认温度和气候:

在此处输入图像描述

和文件 2:可用于温度和气候的选项:

在此处输入图像描述

期望的输出:我想为温度和气候创建一个下拉菜单,城市是固定的。注意:输出应该有两行城市,下拉菜单中有 4 个气候选项,下拉菜单中有 5 个温度选项。

我尝试将这两个表结合起来并创建温度和气候的下拉菜单,但它不起作用。但是,如果我在具有相同长度的温度和气候条件下尝试它,它会起作用。我不确定我是否错过了不同长度列的某些内容,而且我还没有弄清楚如何设置默认值......

下面是我的代码:

import dash
import dash_html_components as html
import dash_table
import pandas as pd
from collections import OrderedDict


app = dash.Dash(__name__)


df1 =  pd.read_excel('C:\\Users\\xxx\\Downloads\\test_climate.xlsx')
df2 =  pd.read_excel('C:\\Users\\xxx\\Downloads\\climate_options.xlsx')
df= df1.append(df2, sort = False)



app.layout = html.Div([
    dash_table.DataTable(
        id='table-dropdown',
        data=df.to_dict('records'),
        columns=[
            {'id': 'climate', 'name': 'climate', 'presentation': 'dropdown''},
            {'id': 'temperature', 'name': 'temperature', 'presentation': 'dropdown'},
            {'id': 'city', 'name': 'city'},
        ],

        editable=True,
        dropdown={
            'climate': {
                'options': [
                    {'label': i, 'value': i}
                    for i in df['climate'].unique()
                ]
            },
            'temperature': {
                 'options': [
                    {'label': i, 'value': i}
                    for i in df['temperature'].unique()
                ]
            }
        }
    ),
    html.Div(id='table-dropdown-container')
])


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

请提前告知和感谢!

问候,

标签: drop-down-menupycharmdefaultdashboardplotly-dash

解决方案


推荐阅读