Python初心者がjsonデータを読み込んでみる

Python初心者がjsonデータを読み込んでみます。

jsonとはそもそも何なのか。JavaScript構文サブセットに基づくオープンな標準のデータ交換フォーマットのこと。jsonは「JavaScript Object Notation」の略。jsonはテキストベースで軽量であり、簡単に読み取り、書き込み可能となっている。

■Python

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」を読み込んで出力されることを確認した。

コメント

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