Форум сайта python.su
Всем доброго!!!
Есть код, который по замыслу автора, должен передавать данные из csv файла в таблицу sqlite3.
import sqlite3
import csv
f = open(r"C:\pythonprog\ats\ocapture1.csv")
csv.field_size_limit(100000) #see below!
input = csv.reader(f, delimiter=';')
conn = sqlite3.connect(r"C:\pythonprog\ats\sqlite\ats2.s3db")
curse = conn.cursor()
for item in input:
curse.execute("INSERT INTO ats VALUES (?, ?, ?, ?, ?, ?, ?, ?)", item)
curse.commit()
conn.close
Офлайн
может скобочки не поставил у conn.close(), т.е. по сути не закрыл коннект?
Отредактировано (Ноя. 26, 2008 07:42:24)
Офлайн
Спасибо, это мой недосмотр! Теперь все работает гораздо быстрей. Но данные как не добавлялись так и не добавляются :(
Офлайн
хм. скорее всего цикл у тебя не разу не выполняется.
Сделай в цикле print item, чтоб проверить что это так.
Офлайн
Спасибо, shiza. Ошибку нашел. curse.commit() надо исправить на conn.commit() и все будет нормально.
А цикл нормальный, раз десять запускал.
Офлайн
и кстати - как тебе удается сделать curse.commit()?
у курсора нет такого метода. такой есть только у conn
З.ы. Ты меня опередил =)
Отредактировано (Ноя. 26, 2008 08:18:50)
Офлайн