Python JSON: loads から pandas まで 4 つの選択肢

2024-12-03

標準ライブラリだけで十分な場面も多いですが、大量データや分析処理ではライブラリ選定が速度と品質に直結します。

1. stdlib json.loads

dict/list への変換が基本で、軽いスクリプトには十分です。

import json
data = json.loads('{"name": "Alice"}')

2. orjson / ujson

C 実装で高速ですが、NaN や datetime の挙動差を確認して導入します。

3. pandas.read_json

表形式配列を DataFrame 化する用途に最適で、lines=True で JSON Lines も扱えます。

import pandas as pd
df = pd.read_json("data.json")

4. pydantic

model_validate_json で解析と検証を同時に実行し、契約逸脱を早期検知できます。

選び方

一般処理は json、高速化は orjson、分析は pandas、契約厳格化は pydantic が目安です。