如何从文本中提取国家/地区



我使用Python 3(我也安装了Python 2(,我想从简短的文本中提取国家或城市。例如,text = "I live in Spain"text = "United States (New York), United Kingdom (London)"

各国的答案:

  1. 西班牙
  2. [美国、英国]

我尝试安装geography但无法运行pip install geography。我收到此错误:

收集地理 找不到满足 需求地理位置(来自版本:(未找到匹配的分布 对于地理

看起来geography仅适用于Python 2。

我也有geopandas,但我不知道如何使用地理熊猫从文本中提取所需的信息。

你可以

使用pycountry来完成你的任务(它也适用于Python 3(:

点安装皮国家

import pycountry
text = "United States (New York), United Kingdom (London)"
for country in pycountry.countries:
    if country.name in text:
        print(country.name)

这个库有一个较新的版本,它支持 python3,名为 geograpy3

pip install geograpy3

它允许您从 URL 或文本中提取地名,并为这些名称添加上下文 - 例如区分国家、地区或城市。

例:

import geograpy
import nltk
nltk.download('punkt')
nltk.download('averaged_perceptron_tagger')
nltk.download('maxent_ne_chunker')
nltk.download('words')
url = 'http://www.bbc.com/news/world-europe-26919928'
places = geograpy.get_place_context(url=url)

您可以在此链接下找到更多详细信息:

相关内容

最新更新