【Python】Jsonファイルに書き込む方法 dump()とdumps()
こんにちは、にわこまです。
今回は、pythonからjsonファイルに書き込む方法を紹介します。jsonファイルを書き込む方法は、dump関数とdumps関数の2つがあります。この2つの関数の違いについても紹介します。
誤字脱字や分からない点、解決し欲しい問題がありましたらご連絡お願いいたします。
メールまたはTwitterのDMまで!
スポンサードサーチ
jsonファイルに書き込む方法
dump()またはdumps()を使う
dump()またはdumps()を使うことで、pythonからjsonファイルに書き込むことができます。
dump()とdumps()の違いは以下の通りです。
「dump()」は、辞書をjsonファイルとして保存するときに使用します。
「dumps()」は、辞書をjson形式の文字列に変換するときに使用します。
jsonライブラリ dump()の公式ドキュメントはこちら
jsonライブラリ dumps()の公式ドキュメントはこちら
詳しい使い方を以下で紹介します。
dump()の使い方
json.dump()は、辞書型のオブジェクトをjsonファイルに保存する関数です。以下にサンプルコードと実行結果としてjsonファイルを示します。
import json
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}}
path = "./json_sample_dump.json"
with open(path, encoding="utf-8", mode="w") as f:
json.dump(d, f, ensure_ascii=False, indent=2)
{
"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
}
}
dump()の引数について説明します。
「d」は、jsonファイルに保存したいオブジェクトです。
「f」は、ファイルオブジェクトです。
「ensure_ascii」は、アスキーコードに変換するか否かを設定する引数です。英数字のみのデータであれば、Trueで問題ありません。しかし、データに日本語が含まれるときは、Falseにします。
「indent」は字下げのことです。基本的に2を設定しておけば問題ありません。
dumps()の使い方
json.dumps()は、辞書型のオブジェクトをjson形式の文字列に変換する関数です。以下にサンプルコードとその実行結果を示します。
import json
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}}
s = json.dumps(d, ensure_ascii=False, indent=2)
print(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
}
}
json.dumps()の引数について説明します。
「d」は、json形式の文字列に変換したい辞書型のオブジェクトです。
「ensure_ascii」は、アスキーコードに変換するか否かを設定する引数です。英数字のみのデータであれば、Trueで問題ありません。しかし、データに日本語が含まれるときは、Falseにします。
「indent」は字下げのことです。基本的に2を設定しておけば問題ありません。
まとめ
今回は、pythonからjsonファイルに保存する方法を紹介しました。具体的にはdump()とdumps()の使い方と違いについて紹介しました。
改めて違いを示します。
「dump()」は、辞書をjsonファイルとして保存するときに使用します。
「dumps()」は、辞書をjson形式の文字列に変換するときに使用します。
解決してほしい問題などがありましたらメールまたはTwitterのDMまで!
最後までお読みいただきありがとうございます。
スポンサードサーチ