下準備
使用する json ファイルを作成しておきます。
ファイル名はqiita_json.json
にしました。
{
"section1":{
"key":"key1",
"number": 1
},
"section2":{
"key":"key2",
"number": 2
}
}
モジュールをインポート
まずはモジュールをインポートしましょう。
import json
ファイルを開く
下のように読み込みたいファイルを指定してopen関数で開いてあげます。
rはreadのrです。
変数1 = open('読み込みたいjsonファイルのパス','r')
json_open = open('qiita_json.json', 'r')
開いたファイルをJSONとして読み込む
先ほど開いたファイル(変数1)をjson.load関数でJSONにします。
変数2 = json.load(変数1)
json_load = json.load(json_open)
一旦見てみましょう
ではここまでの成果を確認してみましょう。
import json
json_open = open('qiita_json.json', 'r')
json_load = json.load(json_open)
print(json_load)
実行結果
作業ディレクトリ>python qiita_json.py
{'section1': {'key': 'key1', 'number': 1}, 'section2': {'key': 'key2', 'number': 2}}
無事読み込めましたね!
とりあえず何か値を取り出してみる
次は読み込んだJSONから欲しいデータを取り出します。
例) section1
のkey
の値を出力する。
import json
json_open = open('qiita_json.json', 'r')
json_load = json.load(json_open)
print(json_load['section1']['key'])
実行結果
key1
はい、ちゃんと取れましたね!
このようにJSONで読み込むとpythonの辞書型として保存されます。
辞書型が不安な人はどっかで確認しておきましょう。
for文で値をとる
import json
json_open = open('qiita_json.json', 'r')
json_load = json.load(json_open)
#valuesで値をとってくる
for v in json_load.values():
print(v)
実行結果
{'key': 'key1', 'number': 1}
{'key': 'key2', 'number': 2}
section
ごとの値が取れましたね!!
でも多分これだと実用的じゃないので更にnumber
の値だけとってこれるようにしましょう。
print(v)
をprint(v['number'])
に変えるだけでおけです。
import json
json_open = open('qiita_json.json', 'r')
json_load = json.load(json_open)
for v in json_load.values():
#ここを変えました。
print(v['number'])
実行結果
1
2
はい、できましたね!!
お疲れさまでした!!
参考
・【Python入門】JSON形式データの扱い方
・Pythonの辞書(dict)のforループ処理(keys, values, items)
5 年くらいの時を経て書き込み編を書きました...
良かったら見てあげてくださいまし...