Какой-либо другой способ импортировать файлы данных (как .csv) в модуле python sqlite3? [не вставляют один за другим]

В клиенте sqlite3 CLI существует ".import файл TABLE_name", чтобы сделать это.

Но, я не хочу устанавливать sqlite3 на своем сервере в настоящее время.

В модуле python sqlite3 мы можем создать и отредактировать DB.

Но, я не нашел способ импортировать файл данных к ТАБЛИЦЕ, кроме вставки строк один за другим.

Какой-либо другой путь?

5
задан Brian Tompsett - 汤莱恩 1 December 2015 в 23:24
поделиться

1 ответ

Вы можете вставить за один раз, используя команду 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')
7
ответ дан 14 December 2019 в 08:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: