Python初心者がjsonデータを読み込んでみます。
jsonとはそもそも何なのか。JavaScript構文サブセットに基づくオープンな標準のデータ交換フォーマットのこと。jsonは「JavaScript Object Notation」の略。jsonはテキストベースで軽量であり、簡単に読み取り、書き込み可能となっている。
■Python
今回のPythonのバージョンは、「3.8.2」を使用しています。
■テストでjsonファイルを用意する
Pythonでjsonデータを読み込んでみたいと思いますので、テスト用にjsonファイルを用意します。
■ファイルデータ
{ "book1":{ "title":"Python初心者", "year": 2020 , "month": 1 }, "book2":{ "title": "Pythonレベルアップへの道", "year": 2020 , "month": 6 } }
jsonデータは、上記のような表記で表記できます。
表記した後は、今回は「test.json」という名前で保存します。
■jsonファイルを読み込んで、出力させてみる
jsonファイルを読み込んで、出力させてみます。
■コード
import json json_file = open('test.json', 'r') json_object = json.load(json_file) print (json_object)
jsonファイルを読み込むためには、モジュールをインポートする必要があるので、「import json」を記述。Pythonにjsonのモジュールをインストールする必要なく、Pythonにすでに備わっている。json_fileという関数で、今回作成した「test.json」を読み込んでprint関数で中身を出力してみる。
このプログラムを「json.py」という名前で保存する。
■実行
コマンドプロントからプログラムを実行してみる。
Traceback (most recent call last): File "C:\Users\user\json.py", line 1, in <module> import json File "C:\Users\user\json.py", line 4, in <module> json_object = json.load(json_file) AttributeError: partially initialized module 'json' has no attribute 'load' (most likely due to a circular import)
実行してみると、上記のAttributeErrorが発生する。調べてみると、「部分的に初期化されたモジュール ‘json’には属性 ‘load’がありません」という内容。
原因が不明で、Pythonのバージョンである3.8.2が影響しているのか。一旦、Google Colaboratoryでプログラムを実行してみる。
{'book1': {'title': 'Python初心者', 'year': 2020, 'month': 1}, 'book2': {'title': 'Pythonレベルアップへの道', 'year': 2020, 'month': 6}}
実行してみると、作成した「test.json」を読み込んで出力されることを確認した。
コメント