5

sqlite3 のクライアント CLI には、それを行うための " .import file TABLE_name " があります。

しかし、現在、自分のサーバーに sqlite3 をインストールしたくありません。

Python sqlite3 モジュールでは、DB を作成および編集できます。

しかし、行を1つずつ挿入する以外に、データファイルをTABLEにインポートする方法が見つかりませんでした。

その他の方法で?

4

1 に答える 1

7

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')
于 2010-05-18T04:36:26.903 に答える