2016-10-05 115 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)'这部分创建生成器对象这就是为什么它给出了错误 –

回答