【Python】Jsonファイルを読み込む方法 load()とloads()
こんにちは、にわこまです。
今回は、pythonからjsonファイルを読み込む方法を紹介します。jsonファイルを読み込む方法は、load関数とloads関数の2つがあります。この2つの関数の違いについても紹介します。
誤字脱字や分からない点、解決し欲しい問題がありましたらご連絡お願いいたします。
メールまたはTwitterのDMまで!
スポンサードサーチ
jsonファイルを読み込む方法
load()またはloads()を使う
load()またはloads()を使うことでpythonからjsonファイルを読み込むことができます。
load()とloads()の違いは以下の通りです。
「json.load()」は、引数にファイルオブジェクトを代入して使用します。
「json.loads()」は、引数に文字列を代入して使用します。
jsonライブラリ load()の公式ドキュメントはこちら
jsonライブラリ loads()の公式ドキュメントはこちら
詳しい使い方を以下で紹介します。
json.load()の使い方
json.load()はjsonファイルから読み込むときに使用する関数です。以下にサンプルコードとその実行結果を示します。また、jsonファイルを示します。
import json
path = "./json_sample.json"
with open(path, encoding="utf-8", mode="r") as f:
d = json.load(f)
print(d)
=== 実行結果 ===
{'Crow': {'X': 12, 'Y': 34, 'Z': 23}, 'Duck': {'X': 10, 'Y': 29, 'Z': 20}, 'Eagle': {'X': 19, 'Y': 35, 'Z': 25}, 'Flamingo': {'X': 30, 'Y': 33, 'Z': 31}}
{
"Crow":{
"X":12,
"Y":34,
"Z":23
},
"Duck":{
"X":10,
"Y":29,
"Z":20
},
"Eagle":{
"X":19,
"Y":35,
"Z":25
},
"Flamingo":{
"X":30,
"Y":33,
"Z":31
}
}
json.loads()の使い方
json.loads()は、json形式を表現していた文字列を辞書型に変換するときに使用します。以下にサンプルコードとその実行結果を示します。
import json
s = '''{
"Crow":{
"X":12,
"Y":34,
"Z":23
},
"Duck":{
"X":10,
"Y":29,
"Z":20
},
"Eagle":{
"X":19,
"Y":35,
"Z":25
},
"Flamingo":{
"X":30,
"Y":33,
"Z":31
}
}'''
d = json.loads(s)
print(d)
=== 実行結果 ===
{'Crow': {'X': 12, 'Y': 34, 'Z': 23}, 'Duck': {'X': 10, 'Y': 29, 'Z': 20}, 'Eagle': {'X': 19, 'Y': 35, 'Z': 25}, 'Flamingo': {'X': 30, 'Y': 33, 'Z': 31}}
import json
s = '{"Crow":{"X":12,"Y":34,"Z":23},"Duck":{"X":10,"Y":29,"Z":20},"Eagle":{"X":19,"Y":35,"Z":25},"Flamingo":{"X":30,"Y":33,"Z":31}}'
d = json.loads(s)
print(d)
=== 実行結果 ===
{'Crow': {'X': 12, 'Y': 34, 'Z': 23}, 'Duck': {'X': 10, 'Y': 29, 'Z': 20}, 'Eagle': {'X': 19, 'Y': 35, 'Z': 25}, 'Flamingo': {'X': 30, 'Y': 33, 'Z': 31}}
上記のサンプルコードのようにシングルクォーテーションによる三重引用符(’’’ここに文字列’’’)またはシングルクォーテーション(’ここに文字列’)で囲んだ文字列を引数に代入することで読み込むことができます。
json形式では「文字列をダブルクォーテーションで囲む」という決まりがあります。そのため、json形式の文字列自体を囲む場合はシングルクォーテーションを使います。
三重引用符は複数行にわたって文字列を書くことができます。しかし、シングルクォーテーションでは1行でしか書くことができません。
まとめ
今回は、pythonからjsonファイルを読み込む方法を紹介しました。具体的にはjson.load()とjson.loads()の違いと使い方を紹介しました。
改めて違い示します。
「json.load()」は、引数にファイルオブジェクトを代入して使用します。
「json.loads()」は、引数に文字列を代入して使用します。
解決してほしい問題などがありましたらメールまたはTwitterのDMまで!
最後までお読みいただきありがとうございます。
スポンサードサーチ