[英]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.