【问题标题】:Python geopy geocoders.GooglePython geopy geocoders.Google
【发布时间】:2014-10-09 15:00:24
【问题描述】:

我正在尝试使用 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 脚本? IE。我一直在将这些命令写入终端,如何在最后的 'print full_addy + ",NULL,NULL"' 行上运行脚本并将输出保存为 costcos-geocoded.csv?

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

【问题讨论】:

  • 我不知道geopy,但你不应该用geocoders.GoogleV3(g_api_key) 代替geocoders.Google(g_api_key) 吗?你使用的是哪个版本的geopy
  • 是的,你是对的。然后它说:,听起来不错!在下一行,当我加载 .csv 文件时,它如何知道 .csv 在哪里?我需要 cd(更改目录)或其他什么吗?
  • 我已将 .csv 文件放在我的桌面上
  • 您应该使用该文件的完整路径。在 Windows 中,它将类似于 C:/Users/.../Desktop/file.csv,在 linux 上为 /home/user/.../Desktop/file.csv,或者您可以将该 .csv 文件放在脚本所在的目录中,并使用相对路径(在这种情况下仅使用 file.csv
  • 我输入了:costcos = csv.reader(open(~/Desktop/costcos-limited.csv), delimiter=',') 这似乎不起作用。我在 Mac 上。我将这些行输入到终端中,而不是双击已完成的 .py 脚本。确定目录路径后,我需要做的就是弄清楚如何运行脚本并将输出保存为 .csv。

标签: python google-maps csv geopy


【解决方案1】:

出现'module' object has no attribute 'Google' 错误是因为您使用的是新版本的geopy,它没有Google 类但GoogleV3,允许使用API​​ 版本3。

只需使用:

g = geocoders.GoogleV3(g_api_key)

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

python script.py

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

python script.py &gt; output_file.txt

【讨论】:

    猜你喜欢
    • 2021-11-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多