2017-08-10 79 views
0

我想加載一個json數據文件,以便使用nltk框架來分析它,但得到一個AttributeError:'list'對象沒有屬性'keys'。我已經嘗試刪除最後的「json」部分,因爲文檔指出數據類型是由文件的擴展名自動檢測的。也試圖在開始時刪除數據庫無濟於事。任何想法,我可能會磕磕絆絆?Nltk json數據加載錯誤

import json 
import nltk 

database = nltk.data.load("data.json", "json") 

回答

0

經過數小時的研究,事實證明,如果最高順序是列表而不是字典,NLTK不接受json文件。爲了訪問數據,最上面的結構必須是帶有鍵的字典結構。

jsonfile = open('data.json') 
jsonstr = jsonfile.read() 
jdata = json.loads(jsonstr)[0] 

這允許訪問其包括字典內,類似於列表的所有其他元素的列表的第一個元素。一種解決方案是分離列表中的元素並逐個加載一個字符串。我也懷疑在編碼json時,sort_keys = True可能會使最上面的結構成爲一個字典。