gpt4 book ai didi

python - 在Python中打开csv文件: builtins. AttributeError AttributeError: '_io.BytesIO'对象没有属性 'file'

转载 作者:太空宇宙 更新时间:2023-11-03 15:14:12 28 4
gpt4 key购买 nike

除了我之前的问题,关于如何在 Python 中打开 csv 文件,我仍然没有成功地做到这一点,并且从一个错误到另一个错误。

我的Python代码如下:

@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
csvfile = TextIOWrapper(request.files['portfolios'].file, encoding=request.encoding)
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")

我的flask/html代码如下:

{% 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 %}

最初,我确实遵循了 Python 文档中的示例: 导入 csv 将 open('names.csv') 作为 csv 文件: 读者 = csv.DictReader(csvfile) 对于读卡器中的行: print(行['名字'], 行['姓氏'])

这不起作用,因为它给出了类型错误(see my earlier post)

然后,我按照建议删除了“打开”,这导致了另一个错误。然后我删除了整个 with block ,这再次导致了错误。现在,上面的代码就是我现在的代码,它生成以下错误:

builtins.AttributeErrorAttributeError:“_io.BytesIO”对象没有属性"file"

谁能帮助我结束 csv 导入噩梦?发送!!

最佳答案

io.TextIOWrapper 可以接受 io.BytesIO 对象。

您(几乎)正在传递它,只是您要添加一个 .file (为什么??),它不是 io.BytesIO 的字段> class(request.files['portfolios'] 已经是一个 io.BytesIO 对象)

就这样做:

csvfile = TextIOWrapper(request.files['portfolios'], encoding=request.encoding)

关于python - 在Python中打开csv文件: builtins. AttributeError AttributeError: '_io.BytesIO'对象没有属性 'file',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44005053/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com