<p>我设法得到了一个符合我要求的版本:</p>
<pre><code>from flask import Flask, render_template, request, redirect, url_for, send_from_directory
import os
import pandas as pd
app = Flask(__name__)
@app.route("/")
def home():
return render_template("index.html")
@app.route("/upload-csv", methods=["GET", "POST"])
def upload_csv():
if request.method == "POST":
if request.files:
csv_upload = request.files["csv"]
filename = csv_upload.filename
csv_upload.save(os.path.join("uploads", csv_upload.filename))
path = os.path.join("uploads", csv_upload.filename)
df = pd.read_csv(path)
new_column = range(12343)
df['new_column'] = new_column
df.to_csv(os.path.join("downloads", filename))
return redirect(url_for('uploaded_file', filename=filename))
return render_template("index.html")
@app.route("/uploads/<filename>")
def uploaded_file(filename):
filename_processed = 'processed' + '-' + filename
return send_from_directory("downloads", filename, as_attachment=True, attachment_filename=filename_processed)
if __name__ == "__main__":
app.run(debug=True)
</code></pre>
<p>我现在可以上传一个csv,添加一个新的专栏,然后再次下载。很确定有更好的方法可以做到这一点,但它是有效的:)我首先将请求的文件保存在“uploads”文件夹中,然后将其作为pandas数据帧从那里读取,并进行一些基本的测试操作,然后将其作为csv保存到一个名为“downloads”的文件夹中。从那里,我可以下载它作为附件</p>
<p>谢谢你的所有投入</p>