繁体   English   中英

对多个值Psycopg2执行SQL查询

[英]Execute SQL Query on Multiple Values Psycopg2

我正在使用psycopg2执行一些PostGIS查询,但是遇到了问题。 可以说我运行一个查询:

cursor.execute("SELECT locations FROM locationtable")

这给了我一个python变量,它是点几何的列表。 稍后,说我想将它们转换为我希望能够执行的其他SRID

cursor.execute("SELECT ST_Transform(%s,32146)",(locs))

但这给我一个错误:

TypeError:在字符串格式化期间并非所有参数都已转换

我意识到在这种情况下,我可以将这两个SQL命令组合在一起,但这是我一直遇到的一个普遍问题,想知道是否有一种方法可以通过psycopg2传递元组列表并使SQL命令在所有对象上执行价值。

它可以与executemany方法executemany

cursor.executemany("SELECT ST_Transform(%s,32146)",(locs))

但是locs必须是元组或其他序列类型的列表,例如:

locs = [(val,) for val in locs]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM