Geopy 没有所有相同的地址密钥
Geopy not have all same key for address
如何检测 location.raw["address"]
词典中缺少的键。这是因为,某些地址没有 ['city'] or ['road']
键 :(
我很难将数据保存在数据框中 Python。
这是我的代码:
from geopy.geocoders import Nominatim
r=[]
h=[] #empty list
c=[]
for i in df['coordinates']:
loc=geolocator.reverse("%s"%i,timeout=120)
print(loc)
if loc.raw["address"]["road"] == None: #i tried use this way, not works
r.append(" ")
print("masuk 1")
else:
road=loc.raw["address"]["road"]
r.append(road)
print("masuk 2")
ham=loc.raw["address"]
name=loc.raw["display_name"]
h.append(ham)
c.append(name)
df = pd.DataFrame({'text':text,'city':c,'neighbourhood':h})
您可以使用 in
关键字来检查 dict
中是否存在密钥:
a = {1:2, 'x': [3,4]}
print(1 in a) # True
print(2 in a) # False
print('x' in a) # True
另外,dict
对象有 get
方法,returns 如果键不存在则有一些值:
a.get(1) # 2
a.get(2) # None -- default value
a.get(2, 'n/a') # 'n/a'
如何检测 location.raw["address"]
词典中缺少的键。这是因为,某些地址没有 ['city'] or ['road']
键 :(
我很难将数据保存在数据框中 Python。
这是我的代码:
from geopy.geocoders import Nominatim
r=[]
h=[] #empty list
c=[]
for i in df['coordinates']:
loc=geolocator.reverse("%s"%i,timeout=120)
print(loc)
if loc.raw["address"]["road"] == None: #i tried use this way, not works
r.append(" ")
print("masuk 1")
else:
road=loc.raw["address"]["road"]
r.append(road)
print("masuk 2")
ham=loc.raw["address"]
name=loc.raw["display_name"]
h.append(ham)
c.append(name)
df = pd.DataFrame({'text':text,'city':c,'neighbourhood':h})
您可以使用 in
关键字来检查 dict
中是否存在密钥:
a = {1:2, 'x': [3,4]}
print(1 in a) # True
print(2 in a) # False
print('x' in a) # True
另外,dict
对象有 get
方法,returns 如果键不存在则有一些值:
a.get(1) # 2
a.get(2) # None -- default value
a.get(2, 'n/a') # 'n/a'