今回やること
JSONは、設定やデータ保存でよく使われる形式です。
Pythonの辞書は、jsonモジュールでJSONファイルに保存できます。
完成コード
json_read_write.py を作ります。
import json
profile = {
"name": "Ada",
"age": 16,
"skills": ["Python", "HTML"],
}
with open("profile.json", "w", encoding="utf-8") as file:
json.dump(profile, file, ensure_ascii=False, indent=2)
with open("profile.json", "r", encoding="utf-8") as file:
loaded_profile = json.load(file)
print(loaded_profile["name"])
print(loaded_profile["skills"])
動作確認
python json_read_write.py
profile.json が作成され、Ada とスキル一覧が表示されれば成功です。
コードの考え方
json.dump()はPythonデータをJSONファイルに保存しますjson.load()はJSONファイルをPythonデータに戻しますensure_ascii=Falseは日本語を読みやすく保存する設定ですindent=2は見やすく整形する設定です
よくあるエラー
| エラー | 原因 | 修正 |
|---|---|---|
FileNotFoundError | 読む前にファイルがない | 先に保存処理を実行 |
JSONDecodeError | JSONの形が壊れている | カンマや引用符を確認 |
| 文字化け | 文字コード指定がない | encoding="utf-8" を指定 |
練習
profileに学校名を追加する- スキルを3つに増やす
- 読み込んだ年齢を表示する
次のステップ
表データの集計は Pythonミニ制作:CSVの点数表から平均点を出す に進みます。