環境設定 数値 文字列 正規表現 リスト タプル 集合 辞書 ループ 関数 クラス データクラス 時間 パス ファイル スクレイピング その他

Python で json ファイルを読みこむ&データを辞書にする

Python で json ファイルを辞書として読みこむ方法を解説します。

import json

with open('test.json', 'r') as f:
    d = json.load(f)
    print(d)

# {'Alice': 173, 'Bob': {'height': 198, 'likes': ['apple', 'banana']}}

test.json

{
  "Alice": 173,
  "Bob": {
    "height": 198,
    "likes": [
      "apple",
      "banana"
    ]
  }
}

with でファイルを開き、json.load で読みこむと辞書が返ります。やっていることは次の 2 行です。

with open('test.json', 'r') as f:
    d = json.load(f)

ブログなどで次のコードがよく紹介されます。まず read でファイルのデータを取得し、それを json.loads で辞書にするという方法です。

import json

with open('test.json', 'r') as f:
    r = f.read()
    d = json.loads(r)
    print(d)

# {'Alice': 173, 'Bob': {'height': 198, 'likes': ['apple', 'banana']}}

もちろん正しいですが、Python は最初から

r = f.read()
d = json.loads(r)

の 2 行を json.load にまとめているため、json.load を使うとスッキリします。

Python ファイル