Как получить элементы выпадающего списка из pandas dataframe, используя флакон Python? - PullRequest
2 голосов
/ 26 мая 2019

Мне нужно добавить данные из фрейма данных pandas в раскрывающийся список в html-документе с использованием фляги python ...

@app.route('/api/v1/resources/getservices', methods=['GET'])
def api_services():
    return render_template('view.html',table=df.to_html())


<!DOCTYPE html>
<html lang="en">
<head>
     <meta charset="UTF-8">
     <title>Dropdown</title>
     <h1>Services</h1>
</head>
<body>
<select name="table" method="GET" action="/">
  <option value="{{table[0]}}" selected>{{table[0]}}</option>
  {% for colour in table[1:] %}
  <option value="{{colour}}">{{colour}}</option>
  {% endfor %}
</select>
</body>
</html>

Я ожидаю, что данные из столбца «Сервис» вdf-файл pandas должен быть добавлен как элементы в выпадающем списке в html-файле ... но всякий раз, когда я пытаюсь использовать приведенный выше код, выпадающий список создается без каких-либо элементов ...

1 Ответ

0 голосов

когда вы вызываете метод to_html(), он создаст HTML-таблицу, и вы не сможете ее перебрать.Я не знаю, какие у вас были данные df, но я думаю, что это может сработать для вас.

app.py

@app.route('/api/v1/resources/getservices', methods=['GET'])
def api_services():
    d = {'Services': ["red", "green", "blue"]}
    df = pd.DataFrame(data=d)
    return render_template('view.html', table=df)

view.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Dropdown</title>
    <h1>Services</h1>
</head>
<body>
<select name="table" method="GET" action="/">
{% for colour in table["Services"] %}
        <option value="{{ colour }}">{{ colour }}</option>
    {% endfor %}
</select>
</body>
</html>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...