2017-09-14 7 views
-3

私はAPIを使用していくつかのデータを検索し、このPythonスクリプトを使用して国コードを抽出しようとしたが、エラーメッセージが表示されました:エラーメッセージ「非型オブジェクトがGET属性を持っていない」

Nonetypeオブジェクトには、GET属性を持っていません。

データはJSONファイルにあります。ここに私のコードは次のとおりです。

country_code=[data.get("sys").get("country") for data in weather_data]. 
+1

最初にapiの応答を確認します。取得しているデータは何ですか? – bhansa

+0

weather_dataには何がありますか? –

+1

'weather.data'の項目の1つが' null'です。これはPythonのJSONパーサーによって 'None'に変換されます。 – kindall

答えて

1

あなたが'key-x'なしを含んでいないいない辞書から.get('key-x')が返されます。 .get('key-x', default_return_value)を指定することにより、この動作を変更できます。default_return_valueは、キーが存在しない場合、呼び出しから戻したい値の変数です。この場合、最初の.getコールが再チューニングなしと思われる2つの.getコールが連鎖しています。このタイプは、辞書とは異なり、.get機能を備えていません。ここでdata変数の内容を出力し、実際に'sys'キーが存在するかどうかを調べることで、このデバッグを開始します。

+0

答えをありがとう。あなたが正しいです。ある都市が見つからなかったことが判明したので、その都市のデータは欠落していた。もう一度あなたの助けに感謝します。 –

+0

@DeshanYu np - 幸せに助けた –

関連する問題