В настоящее время я пытаюсь прочитать файл 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] +"'"))