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

Python で辞書を json ファイルに書きこむ

最終更新日 2022.11.20

Python で辞書を json 形式のファイルに書きこむ方法を解説します。

import json

d = {'Alice': 173, 'Bob': 198}

j = json.dumps(d)

with open('test.json', 'w') as f:
    f.write(j)

test.json

{
  "Alice": 173,
  "Bob": 198
}

json の dumps で辞書を json 形式の文字列にできます。j の型はあくまでも文字列です。後は j をファイルに書きこみます。

もっと簡単なやり方は json.dump に辞書を入れてしまうことです。

import json

d = {'Alice': {'Height': 173, 'Weight': 53}, 'Bob': 198}

with open('test.json', 'w') as f:
    json.dump(d, f)

test.json

{
  "Alice": {
    "Height": 173,
    "Weight": 53
  },
  "Bob": 198
}

ちなみに What is the difference between json.dump() and json.dumps() in python? といったページがあるように dumps と dump は混同しがちな関数です。違いはざっくりこうなります。

  • dumps … 辞書などを json にする
  • dump … 辞書などを json にしてファイルに書きこむ

ファイルに書きこむときは dump で統一していいでしょう。