gpt4 book ai didi

python - 使用 Geopy 获取多个位置的纬度和经度

转载 作者:太空宇宙 更新时间:2023-11-03 16:30:59 34 4
gpt4 key购买 nike

我一直在导入包含多个地址的 csv 数据集。我想获取这些地方的纬度和经度,并将它们与原始地址一起写入新的 csv 文件。我一直在尝试使用 python 中的 Geopy 来实现这一目标。下面给出的是代码:

import csv
##from time import sleep

from geopy.geocoders import Nominatim

with open('D:/location_to_lat_lon/tolocate.csv', 'r') as fp:

with open('D:/location_to_lat_lon/places_located.csv', 'w',newline='') as op:
a = csv.writer(op)
a.writerow(["Town","District","State","Country","Address","Latitude","Longitude"])
for line in fp.readlines():
geolocator = Nominatim()
town_new = line.split(',')[0]
district_new = line.split(',')[1]
state_new = line.split(',')[2]
country_new = line.split(',')[3]
address_new = line.split(',')[4]
location = geolocator.geocode(address_new)
lat=location.latitude
lon=location.longitude
##time.sleep(3)
a.writerow([town_new,district_new,state_new,country_new,address_new,lat,lon])

但是,每次运行此代码时都会出现以下错误

Traceback (most recent call last): File "", line 13, in lat=location.latitude AttributeError: 'NoneType' object has no attribute 'latitude

谁能帮我解决这个问题吗?

'

最佳答案

由于各种原因(包括地理编码服务没有给定地址的地理空间数据),您有时会忘记位置有时可能为“无”。

简单做

location = geolocator.geocode(address_new)
if location:
lat=location.latitude
lon=location.longitude
else :
lat = None
long = None

你也可以尝试,除了

关于python - 使用 Geopy 获取多个位置的纬度和经度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37608811/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com