我已经搜寻了一段时间,却想不出办法。我有一个简单的Flask应用程序,它需要一个CSV文件,将其读入Pandas数据框,将其转换并输出为新的CSV文件。我已经成功上传并成功使用HTML进行了转换
<div class="container">
<form method="POST" action="/convert" enctype="multipart/form-data">
<div class="form-group">
<br />
<input type="file" name="file">
<input type="submit" name="upload"/>
</div>
</form>
</div>
Run Code Online (Sandbox Code Playgroud)
单击“提交”后,它将在后台运行转换一段时间,并在完成后自动触发下载。接受result_df并触发下载的代码如下所示
@app.route('/convert', methods=["POST"])
def convert(
if request.method == 'POST':
# Read uploaded file to df
input_csv_f = request.files['file']
input_df = pd.read_csv(input_csv_f)
# TODO: Add progress bar for pd_convert
result_df = pd_convert(input_df)
if result_df is not None:
resp = make_response(result_df.to_csv())
resp.headers["Content-Disposition"] = "attachment; filename=export.csv"
resp.headers["Content-Type"] = "text/csv"
return resp
Run Code Online (Sandbox Code Playgroud)
我想添加一个进度条,pd_convert从本质上来说这是一个熊猫应用操作。我发现该方法tqdm现在可用于熊猫,并且它具有progress_apply而不是的方法apply。但是我不确定是否与在网页上制作进度条有关。我猜应该是因为它可以在Jupyter笔记本上使用。如何pd_convert()在此处添加进度栏?
我想要的最终结果是: …