上下文
我创建了这个python flask应用程序。它读取csv文件,计算该文件中的“数据”
from flask import Flask, render_template, request
import pandas
app = Flask(__name__)
@app.route('/')
def index():
return render_template('index.html')
@app.route('/', methods=['POST'])
def index_post():
if request.method == 'POST':
req = request.form['fileToUpload']
df = pandas.read_csv(req)
base_pay_MEAN = df['BasePay'].mean()
overtime_MAX = df['OvertimePay'].max()
highest_paid_Person_NAME = (df[df['TotalPayBenefits'] == max(df['TotalPayBenefits'])]).iloc[0]['EmployeeName']
highest_paid_Person_SALARY = (df[df['TotalPayBenefits'] == max(df['TotalPayBenefits'])]).iloc[0]['TotalPayBenefits']
num_Unique_Jobs = df['JobTitle'].nunique()
most_common_jobs = df.groupby('JobTitle').count().sort_values(by='Id', ascending=False)['Id'].head(3)
return render_template('index.html')
else:
render_template('index.html')
if __name__ == '__main__':
app.run()
这是HTML文件的一部分
<p>Please upload your CSV file. The values containing addresses should be in a column named <em>address</em> or <em>Address</em></p>
<form method='POST'>
<input type="file" name="fileToUpload" id="fileToUpload">
<button id="download">Submit</button>
</form>
<div class="results">
<h3 class="base-pay"></h3>
<p class="base-pay-mean"> </p>
<p class="base-pay-high"></p>
<p class="base-pay-low"></p>
<h3 class="over-time"></h3>
<p class="over-time-max"></p>
<h3 class="highest-paid"></h3>
<p class="highest-paid-person"></p>
<p class="highest-paid-job"></p>
<p class="highest-paid-salary"></p>
<h3 class="lowest-paid"></h3>
<p class="lowest-paid-person"></p>
<p class="lowest-paid-job"></p>
<p class="lowest-paid-salary"></p>
</div>
问题
我已经计算了我需要发送回网页的值,例如基本工资平均值、加班最高值等。我已经创建了一个带有class = "results"
的<div>
,我需要将此数据发送到该分区中的相应标记。但是我如何将其发送回网页?
我的目标是当用户上传CSV文件并单击submit时,页面应该显示必要的值,例如:
但我甚至确定从哪里开始
对不起,我的邮件太长了
最简单的方法是制作一个字典并通过
return jsonify(response_dict)
返回它(您需要导入函数from flask import jasonify
)。在我的例子中,dict的响应是response_dict = {"message" : reponse_text}
,就像这里一样https://medium.com/zenofai/creating-chatbot-using-python-flask-d6947d8ef805您可以将要显示为关键字参数的值传递给^{}
例如,要显示“Basepay Mean”,您可以从视图(Python部分)向模板发送适当的变量:
然后在模板(HTML部分)中呈现该变量:
相关问题 更多 >
编程相关推荐