【发布时间】:2018-02-11 00:02:55
【问题描述】:
我正在使用 psycopg2 执行一些 PostGIS 查询,但我遇到了问题。假设我运行一个查询:
cursor.execute("SELECT locations FROM locationtable")
这给了我一个 Python 变量,它是一个点几何的列表。稍后,假设我想将它们转换为不同的 SRID 我希望能够做到:
cursor.execute("SELECT ST_Transform(%s,32146)",(locs))
但这给了我一个错误:
TypeError:字符串格式化期间并非所有参数都转换
我意识到在这种情况下我可以将这两个 SQL 命令组合起来,但这是我一直遇到的一个普遍问题,我想知道是否有办法通过 psycopg2 传递元组列表 em> 并让 SQL 命令对所有值执行。
【问题讨论】:
-
该错误可能是因为第一个查询返回一个列表(我猜)并且您尝试将该列表传递给单个占位符。
executemany有效吗?
标签: python postgresql postgis psycopg2