Geocoders geopy de Python. Google

Estoy intentando ejecutar un script de Python usando Geopy que crea una lista de coordenadas. He instalado Geopy y estoy ejecutando desde Terminal en una Mac.

python from geopy import geocoders import csv g_api_key = 'I HAVE ENTERED MY GOOGLE API HERE' g = geocoders.Google(g_api_key) 

Entonces recibo el mensaje de error:

 Traceback (most recent call last): File "", line 1, in  AttributeError: 'module' object has no attribute 'Google' 

¿Podría mi clave API estar equivocada? ¿Por qué está pasando esto? Si no recibiera este mensaje, cargaría el .csv a continuación:

 costcos = csv.reader(open('costcos-limited.csv'), delimiter=',') next(costcos) #skip header #print header print "Address,City,State,Zip Code,Latitude,Longitude" continue full_addy = row[1] + "," + row[2] + "," + row[3] + "," + row[4] try: place, (lat, lng) = list(g.geocode(full_addy, exactly_one=False))[0] print full_addy + "," + str(lat) + "," + str(lng) except: print full_addy + ",NULL,NULL" 

¿Es correcto este código y es necesario ‘continuar’ (arriba de ‘full_addy’) en este código? Finalmente, si recibo ayuda para hacer que los ‘geocoders.Google’ funcionen, y este script funciona, ¿cómo se ejecuta un script de Python? Es decir, he estado escribiendo estos comandos en la Terminal, ¿cómo ejecuto el script en la línea final ‘print full_addy + “, NULL, NULL”‘ y guardo la salida como costcos-geocoded.csv?

Gracias de antemano por cualquier ayuda que se me presente …

El 'module' object has no attribute 'Google' produjo un error 'module' object has no attribute 'Google' porque está usando una nueva versión de geopy que no tiene clase Google , sino GoogleV3 , que permite usar la versión 3 de API.

Solo usa:

g = geocoders.GoogleV3(g_api_key)

Para escribir un script de Python en lugar de escribir código en el shell de python, simplemente guarde su código en el archivo script.py y ejecútelo desde el terminal:

python script.py

o si desea guardar la salida de ese script en un archivo:

python script.py > output_file.txt