2017-08-10 14 views
0

nltkフレームワークを使用して解析するためにjsonデータファイルを読み込もうとしていますが、AttributeError: 'list'オブジェクトに属性 'keys'がありません。私は最後に「json」の部分を削除しようとしましたが、ファイルタイプの拡張子によってデータ型が自動検出されることがドキュメントに記載されています。また、データベースを最初から無駄に削除しようとしました。どんなアイデアが私がつまずくかもしれませんか?Nltk jsonデータ読み込みエラー

import json 
import nltk 

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

答えて

0

最高のオーダーがdictではなくリストである場合、NLTKはjsonファイルを受け付けません。データにアクセスするには、一番上の構造がキー付き辞書構造でなければなりません。

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

これにより、リストの他のすべての要素と同様に、内部の辞書を含むリストの最初の要素にアクセスすることができます。 1つの解決策は、リストの要素を分離し、辞書を1つずつロードすることです。私はまた、jsonをエンコードする間、sort_keys = Trueは、最上位の構造を辞書にするかもしれないと考えています。

関連する問題