加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

使用Flask在Python中打开csv文件

发布时间:2020-12-20 10:33:52 所属栏目:Python 来源:网络整理
导读:所以,我正在尝试使用Flask在 Python中打开一个.csv文件.我从Python库中复制代码,但是我从一条错误消息转到另一条错误消息,我不知道我做错了什么.我在下面的代码中得到的最新错误代码是:TypeError:无效文件: 我有什么想法我做错了吗? 我的Python代码/ Fla
所以,我正在尝试使用Flask在 Python中打开一个.csv文件.我从Python库中复制代码,但是我从一条错误消息转到另一条错误消息,我不知道我做错了什么.我在下面的代码中得到的最新错误代码是:TypeError:无效文件:

我有什么想法我做错了吗?

我的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")

我的html / Flask代码是:

{% extends "layout.html" %}

{% block title %}
    Admin
{% endblock %}

{% block main %}
<h2>Admin Console</h2>
<h3> Upload Portfolio Data</h2>
<form action="{{ url_for('admin') }}" method="post" enctype=multipart/form-data>
    <fieldset>
        <label class="control-label">Select Portfolio Upload File</label>
        <input id="input-1" type="file" class="file" name="portfolios">
        <h3>Upload Security Lists</h2>
        <label class="control-label">Select Security Upload File</label>
        <input id="input-1" type="file" class="file" name="securities">
        <div class="form-group">
            <button class="btn btn-default" type="submit" value = "upload">Upload</button>
        </div>
    </fieldset>
</form>
{% endblock %}

解决方法

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

portfolios = csv.DictReader(request.files['portfolios'])

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读