将POINT sql数据转换为python

问题描述 投票:0回答:1

我正在研究一个由服务器(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中使用这个值。有人知道这样做的方法吗?

mysql geometry python-3.6 mysql-python
1个回答
0
投票

我相信这只是一个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
© www.soinside.com 2019 - 2024. All rights reserved.