python3で以下のコードを実行したところ、KeyErrorが出ましたので対処法を教えていただきたいです。
python3
1import json 2import datetime 3sgs = { 4 "num": 5 5} 6with open('ticket.json', 'r+') as f: 7 Ti = json.load(f) 8 adder = "abcdefg" 9 maisu = int(sgs["num"]) 10 if adder in Ti: 11 maisu2 = int(Ti[adder][0]["tickets"]) 12 maisu3 = maisu + maisu2 13 Ti[adder][0]["tickets"] = maisu3 14 else: 15 Ti[adder][0]["tickets"] = int(sgs["num"]) 16 Ti[adder][0]["date"] = datetime.datetime.now().strftime("%Y/%m/%d %H:%M") 17 f.seek(0) 18 json.dump(Ti, f, indent=4) 19 f.truncate()
json
1{ 2 "1234": [ 3 { 4 "tickets": 5, 5 "date": "2018/11/18 12:00" 6 } 7 ] 8}
KeyError
1Ti[adder][0]["tickets"] = int(sgs["num"]) 2KeyError: 'abcdefg'
"abcdefg"という要素がJSONに存在しないのでどうしようもありません。具体的にはどういった対処をしたいのでしょうか?(キー値を修正して書き換えたい or エラーを無視してデータは書き換えなくない など)
回答2件
あなたの回答
tips
プレビュー