私はこのコードを(下記)持っています。私はjsonファイルにデータを持っており、データ(以下のコード)を取得します。私はこれらの値を圧縮し、csvファイルに書きます。 私の問題は、値のいずれかがtry
に存在しない場合、その値のためにそこに「なし」を入れたいと思っています。私が試したこと(私は不自由だと思う) - >私は試しを加え、以下で取っている各値を除きました。私はこれをより良く書くのに助けが必要です。tryとexcept文を減らす必要があります
例外は、どの値が欠落しているかを示しています。たとえば、code
がありません。ですから、私はこれをexcept
で処理し、の場合はNone
と書いていますか?
for i in range(len(res_1)):
try:
gp_code.append(res_1[i]['metadata']['annotations']['code'])
ticket.append(res_1[i]['metadata']['annotations']['ticket'])
node.append(res_1[i]['metadata']['annotations']['node-selector'])
display_name.append(res_1[i]['metadata']['name'])
status.append(res_1[i]['status']['phase'])
timer.append(res_1[i]['metadata']['creationTimestamp'])
lifetime.append(res_1[i]['metadata']['annotations']['lifetime'])
except Exception as e:
print(e)
を開始、あなたが ''私は範囲(len(...)) 'を書くときはいつでも間違っていることをほぼ確実にしています。あなたはいつも自分自身を繰り返し処理する必要があります: 'res_1の要素のために ' –
私はあなたがこれを読む必要があると思うhttps://stackoverflow.com/questions/6130768/return-none-if-dictionary-key-is-not-available私はそれがあなたが望むことをすると思うので。キーが存在しないときはNoneを返す。また、 'dict_metadata = res_1 [i] ['metadata']'のようなステートメントを使って、使用しているネストされた辞書の複製部分を減らすことで、コードを単純化することができます。あなたまで、 –
@ R.Sharp、あなたが言っていることを得る。私はこのようにしなければならない。ありがとう –