2010-05-18 54 views

回答

7

你可以在一杆使用,而不是由一個

插入一個executemany命令可以說我有以下與內容

"Hugo","Boss" 
"Calvin","Klein" 

,基本上與CSV模塊開放users.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') 
+0

謝謝你,S.Mark。 這是非常有用的。 它看起來像沒有「.import」類似的功能? – user343638 2010-05-18 05:18:05

+0

@cyaos:沒有。順便說一下,這個問題在SO中非常流行,例如:http://stackoverflow.com/questions/2346074/execute-sqlite3-dot-commands-from-python-or-register-collat​​ion-in-command-line 還有一件事你應該知道的是,CLI中的'.import'是相當原始的:它只是在分隔符上分割,並且當數據包含分隔符時會導致對應值被引用。 – newtover 2010-05-24 09:30:32

相關問題