Вы можете вставить один выстрел, используя команду executemany вместо того, чтобы вставлять один за другим
Допустим, у меня есть users.csv со следующим содержимым
"Hugo","Boss"
"Calvin","Klein"
и в основном открыть с помощью модуля csv и передать его функции .executemany
import csv,sqlite3
persons= csv.reader(open("users.csv"))
con = sqlite3.connect(":memory:")
con.execute("create table person(firstname, lastname)")
con.executemany("insert into person(firstname, lastname) values (?, ?)", persons)
for row in con.execute("select firstname, lastname from person"):
print row
#(u'Hugo', u'Boss')
#(u'Calvin', u'Klein')