使用地理(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 [options] no such option: -m跨度> 这是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)从文本中提取城市时出错的主要内容,如果未能解决你的问题,请参考以下文章

无法使用地理位置从文本中提取城市名称(Python)

selenium.common.exceptions.NoSuchElementException 使用 Selenium Python 从#shadow-root (open) 中提取元素文本时出错

从城市名称获取地理位置

如何使用 python 从 flickr xml 图像数据中提取图像地理数据?

在 Python 中从 JSON 字符串中提取数据时出错(使用 Redshift)

使用 Leaflet、folium 和 pandas 使用 python 绘制地理编码数据(来自 CSV)时出错