Я пытаюсь извлечь местоположение из текста, используя библиотеку geography3 в Python.
import geograpy
address = 'Jersey City New Jersey 07306'
places = geograpy.get_place_context(text = address)
На что я получаю ошибку ниже UnicodeDecodeError:
~\Anaconda\lib\site-packages\geograpy\places.py in populate_db(self)
28 with open(cur_dir + "/data/GeoLite2-City-Locations.csv") as info:
29 reader = csv.reader(info)
---> 30 for row in reader:
31 print(row)
32 cur.execute("INSERT INTO cities VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?);", row)
~\Anaconda\lib\encodings\cp1252.py in decode(self, input, final)
21 class IncrementalDecoder(codecs.IncrementalDecoder):
22 def decode(self, input, final=False):
---> 23 return
codecs.charmap_decode(input,self.errors,decoding_table)[0]
24
25 class StreamWriter(Codec,codecs.StreamWriter):
UnicodeDecodeError: 'charmap' codec can't decode byte 0x8d in position 276: character maps to <undefined>
После некоторого исследования я попытался изменить файл place.py и добавил в строку кодировку = "utf-8" -----> 30
with open(cur_dir + "/data/GeoLite2-City-Locations.csv", encoding="utf-8") as info:
Но это все равно дает мне ту же ошибку.
Я также попытался сохранить GeoLite2-City-Locations.csv на рабочем столе, а затем попытался прочитать его, используя тот же код.
with open("GeoLite2-City-Locations.csv", encoding="utf-8") as info:
reader = csv.reader(info)
for row in reader:
print(row)
, который работает абсолютно нормально и печатает все строки GeoLite2-City-Locations.csv.
Я не понимаю проблемы!