我有一个HTML FORM输入字段,该字段将让用户输入诸如“ Finance”,“ Sales”等之类的字词。一旦FLASK接收到输入,它将把单词/字符串转换为数字,例如Finance =“ 1 “,Sales =” 2“等(并将数字返回到py文件进行预测)。如何在FLASK文件中将单词/字符串而不是数字值包含在FLASK中,然后将字符串分配为数字值?
我使用过以下代码:
@app.route('/predict',methods=['GET','POST'])
def predict():
if request.method == 'POST':
BizUnit = request.form.get('BizUnit', None)
Region = request.form.get('Region', None)
Category = request.form.get('Category', None)
int = (BizUnit, Region, Category)
return int
def convert_to_int(int):
word_dict = {'COO':0, 'Finance':1, 'HR':2, 'AMER':0, 'APAC':1, 'EMEA':2,'Resource':0, 'Facility':1, 'Service':2, 0: 0}
return int(word_dict)
final = [np.array(int)]
prediction = model.predict(final)
output = round(prediction[0], 2)
return render_template('index.html', prediction_text='Spends should be $ {}'.format(output))
它仅返回此“ COO”而不是预测值。即。字符串未转换为pkl文件所需的数字。
<form action="{{ url_for('predict')}}"method="post">
<div class="form-box">
<input list="browsers" name="BizUnit" placeholder="BizUnit" required="required"/>
<datalist id="browsers">
<option value="Finance"</option>
<option value="Sales"</option>
<option value="Marketing"</option>
</datalist>
任何帮助将不胜感激。谢谢。