[英]Unable to insert CSV in MySQL using Python3
我有一个包含以下行的CSV文件:
10472;141507 some text.;810, smoe more text;city; 99,0060198416; -99,3360490152;some(a)textène, moretextèse;additional text s * (topl), again again text*;R : No retée;2015-02-03;
我要达到的目的是插入由a分隔的值; 到一张桌子。
import csv
from dbconnect import connection
import codecs
cursor, conn = connection()
sql = """
INSERT INTO mddelcc
(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10)
VALUES
(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s);
"""
with codecs.open('file.csv', 'rb', encoding='utf-8') as csvfile:
reader = csv.reader(csvfile, delimiter = ';', quoting=csv.QUOTE_NONE)
for row in reader:
cursor.execute(sql,row)
conn.commit()
cursor.close()
print("Done")
运行代码时,出现以下错误:
_mysql_exceptions.ProgrammingError:在字符串格式化期间并非所有参数都已转换
有人能指出我正确的方向吗?
您的字符串中有10个字段,但有11个值。
将sql更改为此:
sql = """
INSERT INTO mddelcc
(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10)
VALUES
(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s);
"""
或对此
sql = """
INSERT INTO mddelcc
(field1, field2, field3, field4, field5, field6, field7, field8, field9, field10,field11)
VALUES
(%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s);
"""
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.