なんだかGoodVibes

日々の勉強メモです。

【Python】json形式のファイル操作(jsonモジュール)

こんにちは。
本日はPythonメモです。

概要

jsonモジュールを使用した
json形式のファイルを操作する方法のメモです。

jsonモジュールのimportは以下です。

import json


json形式で出力する(dumps)

まずは、dumpsから。
こちらは指定したデータをjson形式にエンコーディングします。

サンプルでは画面に表示するようにしています。

import json

print(json.dumps({'name': 'bob', 'color': 'yellow'}))

出力結果は以下です。

{"name": "bob", "color": "yellow"}


dumpsはいくつかのオプションを設定することができます。

以下のサンプルでは、sort_keysとindentを使用しています。

import json

print(json.dumps({'name': 'bob', 'color': 'yellow'}, sort_keys=True, indent=4))

実行結果は以下です。

{
    "color": "yellow",
    "name": "bob"
}

sort_keysをTrueにすることで、keyでソートします。
indentはインデント幅の指定です。


json形式でファイルへ出力する(dump)

dumpsに似ていますが、dumpの場合はファイルオブジェクトをして
指定したファイルへ書き出します。

import json

with open('sample.json', 'w') as f:
    json.dump({'name': 'bob', 'color': 'yellow'}, f, sort_keys=True, indent=4)

出力されたファイルの中身は以下のようになります。

{
    "color": "yellow",
    "name": "bob"
}


json形式のファイルから内容を取得する(load)

loadはjson形式のデータをデコーディングします。

import json

with open('sample.json') as f:
    items = json.load(f)

print(items)

実行結果は以下です。

{'color': 'yellow', 'name': 'bob'}

特定のkeyの値を取得したい場合は

print(items['name'])

とkeyを指定して取得します。

実行結果は以下です。

bob



以上です。