私はAPIを使用していくつかのデータを検索し、このPythonスクリプトを使用して国コードを抽出しようとしたが、エラーメッセージが表示されました:エラーメッセージ「非型オブジェクトがGET属性を持っていない」
Nonetypeオブジェクトには、GET属性を持っていません。
データはJSONファイルにあります。ここに私のコードは次のとおりです。
country_code=[data.get("sys").get("country") for data in weather_data].
私はAPIを使用していくつかのデータを検索し、このPythonスクリプトを使用して国コードを抽出しようとしたが、エラーメッセージが表示されました:エラーメッセージ「非型オブジェクトがGET属性を持っていない」
Nonetypeオブジェクトには、GET属性を持っていません。
データはJSONファイルにあります。ここに私のコードは次のとおりです。
country_code=[data.get("sys").get("country") for data in weather_data].
あなたが'key-x'
なしを含んでいないいない辞書から.get('key-x')
が返されます。 .get('key-x', default_return_value)
を指定することにより、この動作を変更できます。default_return_value
は、キーが存在しない場合、呼び出しから戻したい値の変数です。この場合、最初の.get
コールが再チューニングなしと思われる2つの.get
コールが連鎖しています。このタイプは、辞書とは異なり、.get
機能を備えていません。ここでdata
変数の内容を出力し、実際に'sys'
キーが存在するかどうかを調べることで、このデバッグを開始します。
答えをありがとう。あなたが正しいです。ある都市が見つからなかったことが判明したので、その都市のデータは欠落していた。もう一度あなたの助けに感謝します。 –
@DeshanYu np - 幸せに助けた –
最初にapiの応答を確認します。取得しているデータは何ですか? – bhansa
weather_dataには何がありますか? –
'weather.data'の項目の1つが' null'です。これはPythonのJSONパーサーによって 'None'に変換されます。 – kindall