2017-04-27 58 views
0

我有一個變量數組(arr),我想插入到我的數據庫中,我使用的是Psycopg2。我插入的數組有45個條目。我現在正在運行的代碼如下:Psycopg2 ---插入一個數組

string = '' 
for i in range(0, length): 
    string = string + "%s, " 
string = string[:-2] 

query = """ 
    INSERT INTO schema.tablename 
    VALUES (%s)""" 
query = query.replace("%s", string) 
cur.execute(query, (arr,)) 

我想避免明確寫入列,因爲我有可能會改變工作表(列添加/刪除列)。上面的代碼給我的錯誤:

IndexError: tuple index out of range 

我該怎麼辦呢?

回答

1

您是否試過executemany函數?

cur.executemany("INSERT INTO table VALUES(%s,%s,%s,%s,%s,%s,%s,%s,%s)", tup) 
+0

/facedesk 謝謝!這正是我所期待的。 – Philip