我对烧瓶不熟悉。我试着用flask把csv文件中的数据上传到MySQL。但我犯了个错误“_csv.错误:迭代器应该返回字符串,而不是字节(您是在文本模式下打开文件的吗?)。如何解决?你知道吗
我的代码是:
from flask import Flask,render_template, url_for, request, redirect
from flask_wtf import FlaskForm, Form
from wtforms import StringField,SubmitField
import csv
from flask_mysqldb import MySQL
myd = MySQLdb.connect(host='localhost',user='root',passwd='admin',db='user')
cur = myd.cursor()
app = Flask(__name__)
app.config['SECRET_KEY'] = '7e46de54884a3803d8bc35a52d6a6ae8'
@app.route("/uploaddb", methods=['GET','POST'])
def updb():
files = request.files['file']
reader = csv.DictReader(files)
data = [row for row in reader]
for row in data:
systemid = row['systemid']
school=row['school']
phone=row['phone']
address=row['address']
state=row['state']
cur.execute("INSERT INTO
testcsv(systemid,school,phone,address,state)"
"VALUES('%s','%s','%s','%s','%s','%s')",systemid,school,phone,address,state)
myd.commit()
cur.close()
if __name__ == '__main__':
app.run()
我认为,您可能需要将CSV文件读取为UTF-8编码模式,以便将字节转换为字符串
相关问题 更多 >
编程相关推荐