Я пытаюсь создать приложение фляги, которое будет загружать CSV-файл, назначать его памяти и затем отображать содержимое на HTML-странице,
код, который я использую, как показано ниже, при запускекод и попытаться загрузить файл, я получаю следующее сообщение об ошибке,
AttributeError: '_io.BytesIO' объект не имеет атрибута 'file
Flask
@app.route('/upload', methods=['GET', 'POST'])
def upload():
if request.method == 'POST':
file = request.files['file']
if file and allowed_file(file.filename):
filename = secure_filename(file.filename)
file.save(os.path.join(app.config['UPLOAD_FOLDER'], filename))
## snippet to read code below
file.stream.seek(0) # seek to the beginning of file
myfile = file.file # will point to tempfile itself
dataframe = pd.read_csv(myfile)
## end snippet
return "yatta"
else:
return "file not allowed"
return render_template("upload.html")
HTML
<div class="form-group">
<form method="POST" enctype=multipart/form-data>
<input class="btn btn-sm btn-primary" type="file" name="file">
<input type="submit" value='upload'>
</div>
<table border="1" cellpadding="5" cellspacing="5">
{% for row in data %}
<tr>
{% for d in row %}
<td>{{ d }}</td>
{% endfor %}
</tr>
{% endfor %}
</table>