我需要使用python flask将pandas数据帧中的数据添加到html文档的下拉列表中...
@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>
我期望的是,应该将pandas数据框df中“服务”列中的数据作为html文件的下拉列表中的项添加。.但是每当我尝试使用上述代码时,都应下拉列表已创建,没有任何项目...
答案 0 :(得分: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>