Python | 応用例:「保存した複数の JSON ファイルをまとめて読み込み、統合する」

Python
スポンサーリンク

複数の JSON ファイルに分けて保存したデータを、まとめて読み込んで統合する方法を紹介します。これにより「分割保存したデータを一つにまとめて扱う」ことができます。


サンプルコード

import json

def load_and_merge_json(files):
    merged = []  # 統合結果を入れるリスト

    for filename in files:
        with open(filename, "r", encoding="utf-8") as f:
            data = json.load(f)   # JSONを読み込む
            # 読み込んだデータがリストなら extend、辞書なら append
            if isinstance(data, list):
                merged.extend(data)
            else:
                merged.append(data)

    return merged


# --- 複数ファイルを指定して読み込み・統合 ---
files = ["filtered_results.json", "results.json"]
merged_data = load_and_merge_json(files)

# --- 統合結果を新しいファイルに保存 ---
with open("merged_results.json", "w", encoding="utf-8") as f:
    json.dump(merged_data, f, ensure_ascii=False, indent=2)

print("複数の JSON ファイルを統合して merged_results.json に保存しました!")
Python

保存される JSON ファイルの例(merged_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},
  {"small": [{"A": 1, "B": 1, "C": 1, "result": 1}, ...]},
  {"medium": [{"A": 3, "B": 3, "C": 5, "result": 45}, ...]},
  {"large": [{"A": 5, "B": 5, "C": 3, "result": 75}, ...]}
]

解説ポイント

  • 複数ファイルをループで読み込むfor filename in files:
  • リスト型なら extend → 複数要素をまとめて追加。
  • 辞書型なら append → 1つの要素として追加。
  • 統合結果を新しいファイルに保存merged_results.json にまとめる。

応用の場面

  • 分割保存したログを統合 → 日ごとに保存したログをまとめる。
  • 検索結果の統合 → 複数条件で保存した結果を一つにまとめる。
  • データ分析前の前処理 → 複数ファイルを統合して一括処理。

まとめ

  • 複数の JSON ファイルを読み込んで 一つのリストに統合できる。
  • extendappend を使い分けることで、リスト型・辞書型どちらにも対応可能。
  • 統合した結果を新しい JSON ファイルに保存すれば、後で再利用や共有が簡単。
Python
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました