Pythonを使っていると複数のコードで共通して使用しているコードがあることに気付きます。その作業を完全に覚えていればいいのですが毎回ウェブで調べてコードを記述して、とすると目的の作業は同じなのにシートごとにコード記述方法が違ってしまい見にくくなってしまいます。
そんなことを解消するのが「Pythonチートシート」です。
今回は「 Pythonでjsonファイルを作成・読み込みする 」コードを紹介します。
◆ Mac OS
◆ Python 3
◆ JupyterLab
◆ Selenium Chromedriver
想定する利用シーン
Pythonのデータを用いてjsonファイルを作成したいなぁ
作成したjsonファイルを別のPythonファイル中でも開いて参照したいけど、どうやるんだろう
Pythonでjsonファイルの作成、読み込みをしたいという場合に使用できるコード例を示します。
前準備 jsonファイル保存用フォルダの作成
このコードの実行により作成されるjsonファイルはこのJupyterLabで作成した「.ipynb」ファイルとの相対パスで場所を示します。
今「.ipynb」を保存しているフォルダと同じ階層に「templates」というフォルダを作成してください。
1 2 3 |
任意のフォルダ - .ipynb (ファイル) - templates (フォルダ) |
コード: jsonファイルを出力する
それでは実際に「 jsonファイルを出力する 」コードを紹介します。まずはシンプルなjsonファイルを作成します。
1 2 3 4 5 6 7 8 9 |
import json str = { 'name' : 'Mark', 'age' : 30 } with open('./templates/parameter_01.json', 'w') as f: json.dump(str, f, ensure_ascii=False) |
実行結果
1 2 3 4 |
任意のフォルダ - .ipynb (ファイル) - templates (フォルダ) -- parameter_01.json |
上記のコードを実行することで、str
中に示したキーと値のjsonファイルを[parameter_01.json]として「templates」フォルダに保存することができました。
{“key” : “value”}
keyのセットを複数個内包するようなjsonファイルの作成も行えます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
data = { 'data_list' : [ { 'name': 'リンゴ', 'price' : 150, 'profit' : 1000 }, { 'name': 'バナナ', 'price' : 100, 'profit' : -500 }, { 'name': 'レモン', 'price' : 200, 'profit' : 0 } ] } with open('./templates/parameter_02.json', 'w') as f: json.dump(str, f, ensure_ascii=False) |
コード: jsonファイルを読み込む
次に「 jsonファイルを読み込む 」コードは以下のとおりです。jsonファイルを辞書型としてpython中で読み込んで扱うことが可能となりました。
1 2 3 4 5 6 7 8 9 10 11 |
import json with open('./templates/parameter_01.json') as f: parameters = json.load(f) #変数は自由に変更可能 # 表示 parameters # > {'name': 'Mark', 'age': 30} # typeを確認 type(parameters) # > dict |
コードの解説
以下に各コードごとの処理について解説していきます。
json.dump() Python(辞書型)をjson文字列として開く・保存
1 2 3 4 5 6 7 8 9 |
import json str = { 'key1' : 'value1', 'key2' : int } with open('パス/ファイル名.json', 'w') as f: json.dump(str, f, ensure_ascii=False) |
with open(‘パス/ファイル名.json’, ‘w’) as f:
open()
でファイルを開く(ファイルが存在しない場合には新規に作成される)、この時に'w'
で「書き込みモード」として指定する。
json.dump(str, f, ensure_ascii=False)
第一引数:辞書を指定
第二引数:jsonファイルを保存するパス/ファイル名を指定
第三引数:その他設定*
* デフォルトでは全角文字などの非ASCII文字がUnicodeエスケープされて出力されてしまうので、引数ensure_ascii=False
とすることで、Unicodeエスケープされないように処理しています。
最後に
「Pythonチートシート」で毎回よく使う作業のPythonコードをまとめ、今回は「Pythonでjsonファイルを作成・読み込みする」コードを紹介しました。
他にもいろいろなチートシートを用意しておりますので以下から確認してみてください。
コメント