Python 无法从Anaconda Spyder Windows平台中的NLTK数据导入city_数据库数据集

Python 无法从Anaconda Spyder Windows平台中的NLTK数据导入city_数据库数据集,python,python-3.x,nltk,anaconda,spyder,Python,Python 3.x,Nltk,Anaconda,Spyder,我已使用NLTK.download()将NLTK数据集下载到D驱动器(如D:\ABC\xyz)中的特定文件夹路径中。我在环境变量“NLTK_DATA”中设置了此路径。我使用nltk.data.path.append(“D:\ABC\xyz”) 现在当我把这句话包括在内: 从nltk.corpus导入城市大学数据库我得到错误“无法导入名称”城市大学数据库“ 此数据集位于以下路径中:D:\ABC\xyz\nltk\U data\corpora\city\U database,但我找不到导入此数据集的

我已使用
NLTK.download()
将NLTK数据集下载到D驱动器(如D:\ABC\xyz)中的特定文件夹路径中。我在环境变量“NLTK_DATA”中设置了此路径。我使用
nltk.data.path.append(“D:\ABC\xyz”)

现在当我把这句话包括在内:
从nltk.corpus导入城市大学数据库
我得到错误“无法导入名称”城市大学数据库“


此数据集位于以下路径中:D:\ABC\xyz\nltk\U data\corpora\city\U database,但我找不到导入此数据集的正确语法。

城市\U数据库不是语料库,而是模块
nltk.sem.chat80
的数据库

您可以通过调用
nltk.sem.chat80.sql\u demo()
来访问它。它只是一个演示,所以它会先打开数据库,而不是将其作为列表返回。如果你需要做一些更复杂的事情,看看下面的文档

例如,要将其作为dict获取,可以通过以下方式查询数据库:

capitals = {
    country:city for city, country in nltk.sem.chat80.sql_query(
        "corpora/city_database/city.db",
        "SELECT City, Country FROM city_table"
    )
}
但事实上,这是图书馆使用的一个例子,而不是有用的数据集, 因为它小而过时(例如莫斯科被列为苏联首都)。

感谢雅库布的回复:)。我本来会提高投票率,但我没有必要这么做。你会推荐一种更好的方法来使用nltk识别文本中的城市吗?