前回は JSON ファイルを読み込んで条件に合うデータを抽出しました。今回はさらに一歩進めて、フィルタリングした結果を新しい JSON ファイルに保存する方法を紹介します。これにより「条件付きデータだけを別ファイルに保存・共有」できます。
サンプルコード
import json
# --- JSONファイルを読み込む ---
with open("results.json", "r", encoding="utf-8") as f:
data = json.load(f)
# --- フィルタリング処理 ---
# 例: result が 40以上 のデータだけを抽出
filtered = []
for category, items in data.items():
for item in items:
if item["result"] >= 40:
filtered.append(item)
# --- 新しい JSON ファイルに保存 ---
with open("filtered_results.json", "w", encoding="utf-8") as f:
json.dump(filtered, f, ensure_ascii=False, indent=2)
print("フィルタリング結果を filtered_results.json に保存しました!")
Python保存される JSON ファイルの例(filtered_results.json)
[
{"A": 3, "B": 3, "C": 5, "result": 45},
{"A": 5, "B": 3, "C": 3, "result": 45},
{"A": 5, "B": 5, "C": 3, "result": 75},
{"A": 5, "B": 3, "C": 5, "result": 75}
]
解説ポイント
- フィルタリング結果をリストにまとめる →
filteredに条件一致データを格納。 - 新しいファイル名を指定 →
"filtered_results.json"のように別ファイルに保存。 json.dump()→ Python のリストや辞書を JSON 形式に変換して保存。indent=2→ 見やすい整形出力。
応用の場面
- 分析用データの抽出 → 条件に合うデータだけを別ファイルに保存。
- 共有用データの作成 → 他の人に渡すときに必要な部分だけを保存。
- ログ管理 → 大きなログから特定条件のエラーだけを抽出して保存。
まとめ
- JSON を読み込んでフィルタリングした結果を 新しい JSON ファイルに保存できる。
json.dump()を使えば簡単に保存可能。- 条件付きデータを別ファイルにすることで、再利用や共有がしやすくなる。

