PythonでJSONのNaN値を処理する方法


まず、Pythonの標準ライブラリであるjsonモジュールを使用してJSONデータを読み込みます。次に、読み込んだデータにNaN値が含まれているかを確認します。

以下は、NaN値を処理するためのいくつかの方法とコード例です。

  1. NaN値をNoneに変換する方法:
import json
def nan_to_none(obj):
    if isinstance(obj, float) and math.isnan(obj):
        return None
    return obj
# JSONデータの読み込み
json_data = '{"value": NaN}'
# NaN値をNoneに変換して読み込み
data = json.loads(json_data, parse_float=nan_to_none)
# 出力結果の確認
print(data)  # {'value': None}
  1. NaN値を特定の値で置き換える方法:
import json
# JSONデータの読み込み
json_data = '{"value": NaN}'
# NaN値を0で置き換えて読み込み
data = json.loads(json_data, parse_float=lambda x: 0 if math.isnan(x) else x)
# 出力結果の確認
print(data)  # {'value': 0}
  1. NaN値を無視して読み込む方法:
import json
# JSONデータの読み込み(NaN値は無視される)
json_data = '{"value": NaN}'
# 出力結果の確認
data = json.loads(json_data, parse_constant=lambda x: None)
print(data)  # {'value': None}

これらの方法を使用することで、PythonでJSONデータ中のNaN値を適切に処理することができます。適宜、自身の要件に合わせて適切な方法を選択してください。