2014-03-06 124 views
1

您好,我正在嘗試對德國公司地址進行地理編碼。我的文件是一個csv文件,包含2列我想要進行地理編碼的地址和員工人數。當我加載文件,使用熊貓,並打印他們正確顯示的地址(所以我認爲這不是一個編碼問題),即使他們有一些德語字符。這是我的代碼:pygeocoder模塊不能正常工作

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

回答

1

你需要告訴大熊貓文件的編碼:

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

這很好,非常感謝。你是否總是必須指定pygeocoder文件的編碼? – asado23

+0

好問題。只有當它是非標準的東西導致問題。 :) –