我是Google Maps API的新手,所以不确定为什么此代码无法正常工作。我在一个csv文件中有80个地标的列表,即时通讯试图将lon和lat坐标检索到。
我认为我连接API的方式可能有问题。据我了解,我每天应该有2500个免费请求,但是我收到一个超时错误,使我认为自己已经达到了极限。
代码:
import pandas as pd
import googlemaps
# IMPORT DATASET
df = pd.read_csv('landmarks.csv')
# GOOGLE MAPS API KEY
gmaps_key = googlemaps.Client(key = 'MY KEY')
df['LAT'] = None
df['LON'] = None
for i in range (0, len(df), 1):
geocode_result = gmaps_key.geocode(df.iat[i,0])
try:
lat = geocode_result[0]['geometry']['location']['lat']
lon = geocode_result[0]['geometry']['location']['lon']
df.iat[i, df.comlumns.get_loc('LAT')] = lat
df.iat[i, df.comlumns.get_loc('LON')] = lon
except:
lat = None
lon = None
print(df)
错误消息:
回溯(最近通话最近):文件 “ C:\ Users \ JGrov \ Anaconda3 \ lib \ site-packages \ googlemaps \ client.py”, _request中的第253行 结果= self._get_body(响应)文件“ C:\ Users \ JGrov \ Anaconda3 \ lib \ site-packages \ googlemaps \ client.py”, _get_body中的第276行 提高googlemaps.exceptions._RetriableRequest()googlemaps.exceptions._RetriableRequest
在处理上述异常期间,发生了另一个异常:
回溯(最近通话最近一次):文件“ c:/ Users / JGrov / Google Drive / pythonProjects / Megalith Map / googleMapsAPI_Batch_Megaliths.py”, 第16行 geocode_result = gmaps_key.geocode(df.iat [i,0])文件“ C:\ Users \ JGrov \ Anaconda3 \ lib \ site-packages \ googlemaps \ client.py”, 包装中的第356行 结果= func(* args,** kwargs)文件“ C:\ Users \ JGrov \ Anaconda3 \ lib \ site-packages \ googlemaps \ geocoding.py”, 地理编码中的第68行 返回client._request(“ / maps / api / geocode / json”,params)[“结果”]文件 “ C:\ Users \ JGrov \ Anaconda3 \ lib \ site-packages \ googlemaps \ client.py”, _request中的第260行 extract_body,requests_kwargs,post_json)文件“ C:\ Users \ JGrov \ Anaconda3 \ lib \ site-packages \ googlemaps \ client.py”, _request中的第260行 extract_body,requests_kwargs,post_json)文件“ C:\ Users \ JGrov \ Anaconda3 \ lib \ site-packages \ googlemaps \ client.py”, _request中的第260行 extract_body,requests_kwargs,post_json)[上一行重复了9次以上]文件 “ C:\ Users \ JGrov \ Anaconda3 \ lib \ site-packages \ googlemaps \ client.py”, _request中的203行 提高googlemaps.exceptions.Timeout()googlemaps.exceptions.Timeout
在此问题上的任何帮助将不胜感激。谢谢。