使用地理(Python)从文本中提取城市时出错
Posted
技术标签:
【中文标题】使用地理(Python)从文本中提取城市时出错【英文标题】:Giving an error when extracting cities from a text using geograpy(Python) 【发布时间】:2019-02-15 22:45:55 【问题描述】:我正在尝试从文本中提取城市名称,但它给出了错误。 这是我的代码:
import geograpy
text = 'I am from Delhi'
places = geograpy.get_place_context(text=text)
print(places.cities)
错误:
Traceback (most recent call last):
File "C:/Users/M.B.C. Kadawatha/PycharmProjects/NewsFeed/NLP.py", line 17, in <module>
places = geograpy.get_place_context(text=text)
File "C:\Users\M.B.C. Kadawatha\PycharmProjects\NewsFeed\venv\lib\site-packages\geograpy\__init__.py", line 11, in get_place_context
pc.set_cities()
File "C:\Users\M.B.C. Kadawatha\PycharmProjects\NewsFeed\venv\lib\site-packages\geograpy\places.py", line 137, in set_cities
self.populate_db()
File "C:\Users\M.B.C. Kadawatha\PycharmProjects\NewsFeed\venv\lib\site-packages\geograpy\places.py", line 30, in populate_db
for row in reader:
File "C:\Users\M.B.C. Kadawatha\AppData\Local\Programs\Python\Python36\lib\encodings\cp1252.py", line 23, in decode
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x8d in position 274: character maps to <undefined>
【问题讨论】:
我通过python3 -m pip install git+https://github.com/reach2ashish/geograpy.git
安装geograpy,你的代码可以运行成功了。
我使用了这个命令 pip3 -m pip install git+github.com/reach2ashish/geograpy.git 但是当我运行那个命令时,结果是: 用法:pip python3 -m
,而不是pip3 -m
。
@keineahnung2345 给出这个错误,为什么我决定使用 pip3 'python3' 不被识别为内部或外部命令、可运行程序或批处理文件。
或者直接使用pip install git+https://github.com/reach2ashish/geograpy.git
【参考方案1】:
这应该是包geograpy
中的一个错误。
在geograpy/places.py
,修改:
with open(cur_dir+"/data/GeoLite2-City-Locations.csv", "rb") as info:
到
with open(cur_dir+"/data/GeoLite2-City-Locations.csv", "r", encoding="utf-8") as info:
编码问题应该会消失。
【讨论】:
以上是关于使用地理(Python)从文本中提取城市时出错的主要内容,如果未能解决你的问题,请参考以下文章
selenium.common.exceptions.NoSuchElementException 使用 Selenium Python 从#shadow-root (open) 中提取元素文本时出错
如何使用 python 从 flickr xml 图像数据中提取图像地理数据?