0

我正在尝试使用创建坐标列表的 Geopy 运行 Python 脚本。我已经安装了 Geopy,并在 Mac 上从终端运行。

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

然后我收到错误消息:

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

我的 API 密钥可能有误吗?为什么会这样?如果我没有收到此消息,我将加载 .csv 接下来:

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"

此代码是否正确,并且此代码中是否需要“继续”(在“full_addy”上方)?最后,如果我得到帮助以使“geocoders.Google”工作,并且这个脚本工作,你如何运行 Python 脚本?即我一直在将这些命令写入终端,我如何在最后的'print full_addy +“,NULL,NULL”'行上运行脚本并将输出保存为costcos-geocoded.csv?

提前感谢您对我的任何帮助...

4

1 回答 1

3

'module' object has no attribute 'Google'发生错误是因为您使用的新版本没有geopyGoogle但是GoogleV3允许使用 API 版本 3。

只需使用:

g = geocoders.GoogleV3(g_api_key)

要编写 python 脚本而不是将代码写入 python shell,只需将代码保存到script.py文件中并从终端运行它:

python script.py

或者,如果您想将该脚本的输出保存到文件中:

python script.py > output_file.txt

于 2014-10-09T15:29:59.777 回答