Я пытаюсь пакетировать геокодирование 12 267 адресов с помощью API геокодирования Карт Google. Вот мой код:
from googlemaps import Client as GoogleMaps
import pandas as pd
addresses = pd.read_csv("Full_Addresses.csv")
addresses['lat'] = ""
addresses['long'] = ""
gmaps = GoogleMaps('xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx')
for x in range(len(addresses)):
geocode_result = gmaps.geocode(addresses['Full_Address'][x])
addresses['lat'][x] = geocode_result[0]['geometry']['location']['lat']
addresses['long'][x] = geocode_result[0]['geometry']['location']['lng']
addresses.to_csv('address_coords.csv')
Всякий раз, когда я запускаю это в моем списке адресов, я получаю сообщение об ошибке:
Traceback (most recent call last):
File "/Users/upaasana/lpthw/HDB_finder2.py", line 14, in <module>
addresses['lat'][x] = geocode_result[0]['geometry']['location']['lat']
IndexError: list index out of range
Но если я сокращаю список в моем CSV-файле до пяти адреса, скрипт работает отлично. Так что я думаю, что я достигаю предела количества запросов API.
Как я могу изменить свой скрипт, чтобы мои запросы в секунду находились в пределах ограничения Google в 50 запросов в секунду?
Спасибо!