无法从flas将csv文件上载到数据库

2024-06-17 11:49:57 发布

您现在位置:Python中文网/ 问答频道 /正文

我对烧瓶不熟悉。我试着用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()

Tags: csvfromimportappflaskforaddressphone