2017-08-30 60 views
0

我有兩個或多個列表,例如:Python列表到SQL列

name = ['Chris', 'John', 'Louis'] 
    surname = ['Brown', 'Green', 'Red'] 
    car = ['Audi', 'Mercedes', 'Ferrari'] 

我想達成什麼是創建一個SQL數據庫,每一個列表是一列,以便它會是這樣的:第一行是「克里斯」,第二行是「布朗」,第三行是「奧迪」,依此類推。我的實際python腳本是下面一個,但我無法弄清楚如何我可以保存列表:

connection = sqlite3.connect("name.db")      
    cursor = connection.cursor()         
    cursor.execute("DROP TABLE IF EXISTS peopleList")   
    cursor.execute("CREATE TABLE peopleList(Name TEXT, Surname TEXT, Car TEXT)") 

回答

5

您可以使用zip()executemany()像這樣:

cursor.executemany("""INSERT INTO peopleList (Name, Surname, Car) VALUES (?,?,?)""", 
        zip(name,surname,car)) 
+0

我有一個回溯的錯誤: sqlite3.OperationalError:接近「%」:語法錯誤 – antonioag

+0

@antonioag:哦我現在看到你正在使用SQLite3。這個問題的標題和MySQL標籤,讓我困惑。請參閱應該工作的編輯答案。 – bernie

+0

對不起,錯誤的標籤,並感謝您的時間。無論如何,沒有更多的錯誤,但創建的文件有0行 – antonioag