我有一个名为coords
的表,它被定义为:
mysql> describe coords;
+-----------+--------------+------+-----+------------------+----------------+
| Field | Type | Null | Key | Default | Extra |
+-----------+--------------+------+-----+------------------+----------------+
| id | int(11) | NO | PRI | NULL | auto_increment |
| location | varchar(150) | NO | UNI | NULL | |
| latitude | float(20,14) | YES | | 0.00000000000000 | |
| longitude | float(20,14) | YES | | 0.00000000000000 | |
-----------------------------------------------------------------------------
我在我的Python脚本中使用MySQLdb
导入。这个表的目的是存储(您可以猜到,但为了清晰起见)位置坐标(但仅当我还没有特定位置的坐标时)。
我将在我的Python程序中查询这个表,看看我是否已经有一个预先请求的位置的坐标。我这样做是为了加快geopy
包的使用,它会询问谷歌的地理位置服务。
如何存储与位置对应的返回浮点数?到目前为止,我有以下内容:
myVar = cur.execute("SELECT latitude, longitude FROM coords WHERE location ='" + jobLocation + "';")
if myVar == 1:
print(cur.fetchone())
else:
try:
_place, (_lat, _lon) = geos.geocode(jobLocation, region='GB', exactly_one=False)
print("%s: %.5f, %.5f" % _place, (_lat, _lon))
except ValueError as err:
print(err)
代码工作(好吧,不是真的…),但我不知道如何得到返回的坐标到单独的浮动变量
你能帮忙吗?
当您执行cur.fetchone()
时,您需要将结果存储在某处:
row = cur.fetchone()
print row[0], row[1]
现在row[0]
将包含纬度,row[1]将包含经度。
如果在连接时这样做:
cur = con.cursor(mdb.cursors.DictCursor)
,然后可以使用字典按名称引用列:
row = cur.fetchone()
print row["latitude"], row["longitude"]