Я работаю над кодом, который вставляет строки CSV в базу данных SQLite, используя Python. Я использовал это некоторое время, и это работает. Однако произошло обновление файла CSV, но были добавлены только строки, а не столбцы. Теперь, когда я запускаю код, я получаю «Ошибка типа: не все аргументы, преобразованные во время форматирования строки». Я перепробовал все, что мог придумать и найти, и все еще получаю эту ошибку. Это код, который выполняет вставку части базы данных
fin = open("file.csv", "rb")
creader = csv.reader(fin, delimiter=',')
sql_insert = "INSERT INTO WR_Training VALUES(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)"
# Iterate through creader and insert the values into the table
# Pop off the 3 resources columns and insert the others
for row in creader:
row.pop(27)
row.pop(26)
row.pop(25)
if row[2] != "":
cu.execute(sql_insert, row)
fin.close()
cx.commit()
cx.close()
Изначально все 29 столбцов вместе, поэтому я использую row.pop для удаления ненужных столбцов, поэтому я также не включаю их в исходное создание таблицы. Таким образом, он хранит 26 столбцов из 29. Я использовал% s вместо? для команды sql, однако% s не работает и сейчас? не работает так же.
Любые предложения будут очень полезны!
Спасибо