JSONファイルの読込
PythonでJSON形式のデータを読み込むと、辞書型で保存されます。>>> j = {
... "PiyoBook":{
... "title":"Python Study",
... "year": 2010,
... "page": 100
... },
... "MoguBook":{
... "title": "Python Programming",
... "year": 2015,
... "page": 200
... }
... }
>>> type(j)
<class 'dict'>
dict型からの値取り出し
key名を指定することで値を取り出すことができます。>>> j["PiyoBook"]
{'title': 'Python Study', 'year': 2010, 'page': 100}
>>> type(j["PiyoBook"])
<class 'dict'>
ネストした中のkeyを取り出すときは、順番にkeyを指定すると取り出すことができます。
>>> j["PiyoBook"]["title"]
'Python Study'
>>> type(j["PiyoBook"]["title"])
<class 'str'>
dict型からkey分の値取り出し
# -*- coding: utf-8 -*-
j = {
"PiyoBook":{
"title":"Python Study",
"year": 2010,
"page": 100
},
"MoguBook":{
"title": "Python Programming",
"year": 2015,
"page": 200
}
}
def main():
keys = j.keys()
titles = []
for key in keys:
titles.append(j[key]["title"])
print(titles)
if __name__ == '__main__':
main()
実行結果
['Python Study', 'Python Programming']
titleだけを取り出すことができました。ちなみに配列の操作でappend()はオブジェクトの追加、extend()はリストオブジェクトの追加です。
(今回はtitleだけなのでappend()を使っています)
まとめ
JSON形式のデータを簡単に読み込むことができました。辞書型にしてしまえば、値の追加や削除も簡単にできるので、改めてPythonの便利さを実感しました。また、今回は使っていませんが、dump()を使って辞書型からJSON形式に変換することもできるようです。
よりPythonの理解を深めていきたいと思います。