python - pygeocoder 模块不工作

标签 python gis geocoding

您好,我正在尝试对德国公司地址进行地理编码。我的文件是一个 csv 文件,其中有 2 列,分别是我想要进行地理编码的地址和员工数量。当我使用 pandas 加载文件并打印地址时,即使它们有一些德语字符,它们也会正确显示(所以我认为这不是编码问题)。这是我的代码:

import csv
import pygeocoder
import pandas as pd
import codecs
import json
import urllib2
from pygeocoder import Geocoder

df = pd.read_csv('C:\Users\Jtrujillo\Desktop\germangeocodes (2).csv')

address = df.Address
print address

for a in address:
    result = Geocoder.geocode(a)

我收到此错误:

Traceback (most recent call last):
  File "<stdin>", line 2, in <module>
  File "F:\WinPython-64bit-2.7.6.3\python-2.7.6.amd64\lib\site-packages\pygeocoder.py", line 110, in geocode
    return GeocoderResult(Geocoder.get_data(params=params))
  File "F:\WinPython-64bit-2.7.6.3\python-2.7.6.amd64\lib\site-packages\pygeocoder.py", line 190, in get_data
    raise GeocoderError(response_json['status'], response.url)
pygeolib.GeocoderError: Error INVALID_REQUEST
Query: https://maps.google.com/maps/api/geocode/json?language=&region=&bounds=&components=&address=Marcel-Breuer-Str.+12%2C+M%FCnchen%2C+Bayern%2C+80807%2C+Germany&sensor=false

这是我正在使用的文件:https://www.dropbox.com/s/tynzlc9wp74zszr/germangeocodes%20%282%29.csv

最佳答案

您需要告诉 pandas 文件的编码:

df = pd.read_csv('geocodes.csv', encoding="iso-8859-1")

关于python - pygeocoder 模块不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22235131/

相关文章:

即使使用 API key ,Python 地理编码器请求也被拒绝?

python - 从回溯中识别要使用的异常

python - Python 中的字典是否只有一个 repr 值?

python - 使用 matplotlib 将点数据插值到二维形状文件中

c++ - 表示平面图/GIS 拓扑 : ArcObjects vs. CGAL 安排

geocoding - 如何在没有 map 的情况下在 JAVA 中进行地理编码?

python - 如何使用 Python 为 Mongo 创建全局唯一的 GUID/UUID 系统?

python - 成本函数不收敛

sql - 将点与 SQL/BigQuery 中的多边形匹配,以便该点位于多边形边界内至少 N 米(即不靠近边界)

google-maps - HTML5 的 GeoLocation 到底是如何工作的?