【发布时间】:2019-09-17 17:40:00
【问题描述】:
我目前正在尝试读取 csv 文件,获取所述 csv 文件的内容,然后将它们放入 sqlite3 数据库。我不断得到一个
OperationalError('near "s": 语法错误')
通常我会认为这是罪魁祸首代码行中某处的一个简单错误。
然而,有趣的是,在我们遇到这个异常之前,程序运行了 7 行 csv 文件:
我检查了 csv 文件中的以下行,您可以在此处看到:
据我所知,那里没有“异常”值。
最后,完整代码如下:
def readData(filename, sqlite_file):
conn = sqlite3.connect(sqlite_file)
c = conn.cursor()
with open(filename) as CSVfile:
csvReader = csv.reader(CSVfile)
headers = next(csvReader)
for row in csvReader:
print(row[26] + ' ' + row[15] + ' ' + row[16] + ' ' + row[21] + ' ' + row[22] + ' ' + row[23] + ' ' + row[24] + ' ' + row[17])
tableName = 'Sponsor'
c.execute('INSERT INTO {tn} VALUES ({v1}, {v2}, {v3}, {v4}, {v5}, {v6}, {v7}, {v8})'.format(tn=tableName, v1=row[26], v2=str("'"+ row[15] +"'"), v3="'"+ row[16] +"'", v4="'"+ row[21] +"'", v5="'"+ row[22] +"'", v6= "'"+ row[23] +"'", v7= "'"+ row[24] +"'", v8= "'"+ row[17] +"'"))
【问题讨论】:
标签: python database sqlite csv syntax-error