2016-10-05 116 views
0

插入到PostgreSQL表使用Python我有兩個列表:的Python:通過傳遞參數

columns = ['id','name','address'] 
data = ['1,'John','LA'','2,'Jessica','TX''] 

我有相同的列如上表模式,我無法將數據插入到使用表psycopg2連接時,我將值和列名作爲參數傳遞。

cursor_r.execute("insert into test %s values %s ",tuple(column_names),tuple(values))) 

我得到的錯誤作爲

psycopg2.ProgrammingError: syntax error at or near "'id'" 

我真的找不出什麼我做錯了,真的希望任何形式的幫助。提前謝謝你試圖幫助我。 編輯:我在此查詢試圖打字:

cursor_r.execute("insert into test (%s) values (%s) ", ((x for x in column_names),(str(y).replace("(","").replace(")","") for y in values))) 

現在給了我,它無法適應型「發電機」

EDIT 2的錯誤:我現在得到的錯誤「生成'對象不支持索引。有人幫我出

+0

'數據= [ '1' 約翰 ' '洛杉磯'', '2,' 傑西卡','TX'']這個列表給出錯誤使用'data = [「1,'John','LA'」,'2,'Jessica','TX'「]' –

+0

@mahendrakamble我動態存儲數據。所以清單顯然會將它與「'對嗎?我不知道是否可以改變 – sleepcoffeedelight

+0

'(x for x in column_names)'這部分創建生成器對象這就是爲什麼它給出了錯誤 –

回答