Pythonでjsonファイルを作成・読み込みする [Pythonチートシート]

Python

Pythonを使っていると複数のコードで共通して使用しているコードがあることに気付きます。その作業を完全に覚えていればいいのですが毎回ウェブで調べてコードを記述して、とすると目的の作業は同じなのにシートごとにコード記述方法が違ってしまい見にくくなってしまいます。
そんなことを解消するのがPythonチートシートです。
今回は「 Pythonでjsonファイルを作成・読み込みする 」コードを紹介します。

環境設定
◆ Mac OS
◆ Python 3
◆ JupyterLab
◆ Selenium Chromedriver

想定する利用シーン

Pythonのデータを用いてjsonファイルを作成したいなぁ

 

作成したjsonファイルを別のPythonファイル中でも開いて参照したいけど、どうやるんだろう

Pythonの標準ライブラリのjsonモジュールを使用すれば解決できますよ

Pythonでjsonファイルの作成、読み込みをしたいという場合に使用できるコード例を示します。

jsonとは「JavaScript Object Notation」の略で軽量なテキストベースのデータ交換用フォーマットでありプログラミング言語を問わず利用できるデータ記述言語です。構文はJavaScriptにおけるオブジェクトの表記法に由来しますがPythonでもサポートされております、プログラミング言語間のデータの受け渡し時に重宝します。

前準備 jsonファイル保存用フォルダの作成

このコードの実行により作成されるjsonファイルはこのJupyterLabで作成した「.ipynb」ファイルとの相対パスで場所を示します。

今「.ipynb」を保存しているフォルダと同じ階層に「templates」というフォルダを作成してください。

任意のフォルダ
- .ipynb (ファイル)
- templates (フォルダ)

コード: jsonファイルを出力する

それでは実際に「 jsonファイルを出力する 」コードを紹介します。まずはシンプルなjsonファイルを作成します。

import json

str = {
    'name' : 'Mark',
    'age' : 30
}

with open('./templates/parameter_01.json', 'w') as f:
    json.dump(str, f, ensure_ascii=False)

実行結果

任意のフォルダ 
- .ipynb (ファイル) 
- templates (フォルダ)
-- parameter_01.json

上記のコードを実行することで、str中に示したキーと値のjsonファイルを[parameter_01.json]として「templates」フォルダに保存することができました。

JSONは {} の中にキーと値をコロンで区切って記述します。
{“key” : “value”}

 

keyのセットを複数個内包するようなjsonファイルの作成も行えます。

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中で読み込んで扱うことが可能となりました。

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文字列として開く・保存

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エスケープされないように処理しています。

 

 

json モジュールの解説についてはPythonのDocumentationでも紹介されております。

参照:Pythonライブラリ

 

最後に

Pythonチートシートで毎回よく使う作業のPythonコードをまとめ、今回は「Pythonでjsonファイルを作成・読み込みする」コードを紹介しました。

他にもいろいろなチートシートを用意しておりますので以下から確認してみてください。

普段よく使う作業の[ Pythonチートシート ]
Pythonを使っていると複数のコードで共通して使用しているコードがあることに気付きます。その作業を完全に覚えていればいいのですが毎回ウェブで調べてコードを記述して、とすると目的の作業は同じなのにシートごとにコード記述方法が違ってしまい見に...

コメント

タイトルとURLをコピーしました