我正在尝试加载 json 数据文件以便使用 nltk 框架对其进行分析,但出现 AttributeError: 'list' object has no attribute 'keys'。我尝试删除末尾的“json”部分,因为文档指出数据类型是由文件扩展名自动检测的。一开始也尝试过删除数据库,但无济于事。有什么想法我可能会在哪里绊倒吗?
import json
import nltk
database = nltk.data.load("data.json", "json")
最佳答案
经过几个小时的研究,结果发现如果最高顺序是列表而不是字典,NLTK 不接受 json 文件。为了访问数据,最上面的结构必须是带有键的字典结构。
jsonfile = open('data.json')
jsonstr = jsonfile.read()
jdata = json.loads(jsonstr)[0]
这允许访问列表中的第一个元素,其中包含一个字典,类似于列表中的所有其他元素。一种解决方案是分离列表的元素并一次加载一个字典。我还怀疑在编码 json 时, sort_keys = True 可能会使最上面的结构成为字典。
关于python - Nltk json数据加载错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45622509/