使用 Flask 在 Python 中打开 csv 文件

Bar*_*aas 5 python csv flask

所以,我正在尝试使用 Flask 在 Python 中打开一个 .csv 文件。我从 Python 库中复制了代码,但是我从一个错误消息转到另一个错误消息,我不知道我做错了什么。我在以下代码中得到的最新错误代码是:TypeError: invalid file:

任何想法我做错了什么?

我的Python代码/Flash路线如下:

@app.route("/admin", methods=["GET", "POST"])
@login_required
def admin():
    """Configure Admin Screen"""
    # if user reached route via POST (as by submitting a form via POST)
    if request.method == "POST":

        # load csv file with portfolio data
        with open(request.files["portfolios"]) as csvfile:
            portfolios = csv.DictReader(csvfile)

        # load csv file in dictionary
        for row in portfolios:
            print(row['first_name'], row['last_name'])
    else:
        return render_template("admin.html")
Run Code Online (Sandbox Code Playgroud)

我的 html/Flask 代码是:

@app.route("/admin", methods=["GET", "POST"])
@login_required
def admin():
    """Configure Admin Screen"""
    # if user reached route via POST (as by submitting a form via POST)
    if request.method == "POST":

        # load csv file with portfolio data
        with open(request.files["portfolios"]) as csvfile:
            portfolios = csv.DictReader(csvfile)

        # load csv file in dictionary
        for row in portfolios:
            print(row['first_name'], row['last_name'])
    else:
        return render_template("admin.html")
Run Code Online (Sandbox Code Playgroud)

dav*_*ism 2

文件已经打开。open接受一个字符串文件名并创建一个打开的文件对象,但您不需要这样做,因为 in 中的对象request.files已经是打开的类似文件的对象。

portfolios = csv.DictReader(request.files['portfolios'])
Run Code Online (Sandbox Code Playgroud)