2017-07-20 36 views
0

私は、JSONファイルを解析しようとしているが、次のエラーを取得しています:PythonのJSON解析エラー:キーエラー - self.url = JSON [「id_str」]

Traceback (most recent call last): 
    File "data2spreadsheet.py", line 151, in <module> 
    parse(json.loads(line)) 
    File "data2spreadsheet.py", line 119, in parse 
    tw.parse(tweet) 
    File "data2spreadsheet.py", line 78, in parse 
    self.url = d['id_str'] 
KeyError: 'id_str' 

奇妙な事は、私がすることができませんということですコードを実行するたびにこのエラーを再現してください。時々、コードは完璧に動作し、突然それは協力を拒否します。私はdata2spreadsheet.pyスクリプトのJSON解析関数を検証しており、単一のJSONオブジェクトでうまく動作します。どのように私はこの問題のトラブルシューティングに行く必要があります上の任意のアイデア?

サンプルJSONオブジェクト:

{"created_at":"Thu Jul 20 13:17:26 +0000 2017","id":8880,"id_str":"8880250","text":"Hello there !"} 
+0

これは、あなたのjsonファイルが 'id_str'キーを持っていないいくつかの変種のようです。 – Vladyslav

+1

追加情報が必要です。 "d"とは何ですか? –

+0

の 'id_str'がtrueを返します。ファイルを1行ずつ読み込んでいます。 'd'はJSONオブジェクトを持つファイルの1行のインスタンスを持っています – Kshitij

答えて

0

エラーは、辞書がキー 'id_str' を持っていないことを言います。 このキーがjsonファイルに存在する場合、コードが見つからなかったか、それを理解していないことを意味します。

自分のパーサーを書き込む代わりにファイルjsonをインポートしようとしましたか?

ここには、ドキュメントへのリンク:https://docs.python.org/2/library/json.htmlがあります。

コードは次のようになります:

変数jsのは、あなたのJSONファイルを含む辞書である
import json 

fp = open(filename, 'r') 
js = json.load(fp) 
fp.close() 

+0

私はjson.loads()メソッドを使用しています – Kshitij

+0

サンプルjsonを与えることができますか? – Laurentourte

+0

質問の説明のセクションにサンプルオブジェクトを追加しました – Kshitij