将 POINT sql 数据转换为 python
Converting POINT sql data to python
我正在处理一个包含服务器 (mySQL) 的学校项目。要从表中获取信息,我使用以下代码:
k = db.cursor()
k.execute("SELECT location FROM api_server.Measurement WHERE userid = 18")
rows = k.fetchall()
for index in rows[0]:
print(index)
这段代码的输出是:b'\x00\x00\x00\x00\x01\x01\x00\x00\x00\x0c\xbd\xb4\x97#Z\x14@\x81\xae"HJ\x0eJ@'
通过 MySQL Workbench 查看代码时,我得到一些如下所示的二进制值:binary values
打开选项卡查看文本时会弹出此值:POINT (5.0881077 52.1116621)
我也想要 python 中的这个值。有人知道这样做的方法吗?
我相信这只是一个blob数据,你可以使用
SELECT CONVERT(location USING utf8) FROM api_server.Measurement WHERE userid = 18
如果是点(几何类型),可以使用:
SELECT ST_AsText(location USING utf8) FROM api_server.Measurement WHERE userid = 18
我正在处理一个包含服务器 (mySQL) 的学校项目。要从表中获取信息,我使用以下代码:
k = db.cursor()
k.execute("SELECT location FROM api_server.Measurement WHERE userid = 18")
rows = k.fetchall()
for index in rows[0]:
print(index)
这段代码的输出是:b'\x00\x00\x00\x00\x01\x01\x00\x00\x00\x0c\xbd\xb4\x97#Z\x14@\x81\xae"HJ\x0eJ@'
通过 MySQL Workbench 查看代码时,我得到一些如下所示的二进制值:binary values 打开选项卡查看文本时会弹出此值:POINT (5.0881077 52.1116621) 我也想要 python 中的这个值。有人知道这样做的方法吗?
我相信这只是一个blob数据,你可以使用
SELECT CONVERT(location USING utf8) FROM api_server.Measurement WHERE userid = 18
如果是点(几何类型),可以使用:
SELECT ST_AsText(location USING utf8) FROM api_server.Measurement WHERE userid = 18