从python中的原始信息中获取特定信息

时间:2016-01-27 21:16:27

标签: python variables unicode

首先很抱歉我的问题有多严重,但我不能100%确定如何解释我在寻找什么。我在python中使用geopy包。

基本上我使用以下代码:

geolocator = Nominatim()
location = geolocator.reverse("{}, {}".format(lat, lon))
print(location.address)
print((location.latitude, location.longitude))
print(location.raw)

它给我的输出示例是:

Coastal Track, Totaranui, Tasman, New Zealand/Aotearoa

(-40.8274559, 173.0053319)

{u'display_name': u'Coastal Track, Totaranui, Tasman, New Zealand/Aotearoa', u'place_id': u'93390086', u'lon': u'173.0053319', u'osm_type': u'way', u'licence': u'Data \xa9 OpenStreetMap contributors, ODbL 1.0. http://www.openstreetmap.org/copyright', u'osm_id': u'149082205', u'lat': u'-40.8274559', u'address': {u'path': u'Coastal Track', u'state': u'Tasman', u'country': u'New Zealand/Aotearoa', u'country_code': u'nz', u'hamlet': u'Totaranui'}}

我想要做的是采取osm_id,osm_type等内容并为它们创建一个变量。 我试过像location.raw.attrib ['osm_type']之类的东西,但这不起作用。我是python的新手,所以非常感谢任何帮助,我希望我能够清楚地了解我的要求,谢谢!

2 个答案:

答案 0 :(得分:1)

您正在寻找的是从字典中调用键值对。因此,要在变量中获得所需的osm_id和osm_type,您可以这样做:

osmid = location['osm_id']

使用字典名称(位置)和要获取值的键名称调用所需字典的一部分。然后,我们将其存储在osmid

答案 1 :(得分:0)

如果密钥不存在,

n1c9 answer将抛出密钥错误。请使用:

QueryAddColumn(local.qryResult, "payout", "cf_sql_double", arrayNew(1));