【Python初心者必見】JSONファイルの読み込みと変換を徹底解説!
Pythonでデータ分析や機械学習を行う際に欠かせないのがJSONファイルです。JSONファイルは、軽量で人間にも機械にも読みやすいデータ交換フォーマットとして広く使われています。その使い方をマスターすれば、データ分析の幅が大きく広がるはずです。そこでこの記事ではJSONファイルの取り扱い方法について詳しく解説していきます。
JSONとは?
まず、JSONとはどのようなものなのでしょうか。JSONは、JavaScript Object Notationの略で、属性-値ペアの集合を表現するデータフォーマットです。Pythonの辞書型に近い形式で、キーと値の組み合わせからデータが構成されています。このシンプルな構造により、人間にも機械にも解釈が容易なデータ形式です。
JSONファイルの読み込み方
次に、JSONファイルの読み込み方法を見ていきましょう。今回は、JSONのダミーデータを返すAPIであるJSONPlaceholderを使用します。`requests`を用いてURLから読み込む場合、以下のようにコードを書くことができます。
import requests
url = 'https://jsonplaceholder.typicode.com/users'
r = requests.get(url)
users = r.json()
これで、`users`にJSONデータが格納されました。
JSONファイルの確認と変換
読み込んだJSONファイルを確認するには、`for`文を使ってデータを順番に表示すると良いでしょう。
for user in users:
print(user['id'], user['name'], user['email'])
また、`json.dumps()`を使って辞書型のデータをJSON形式の文字列に変換したり、`json.loads()`でJSON形式の文字列を辞書型に変換したりすることも可能です。
import json
json_string = json.dumps(users, indent=2)
data_from_string = json.loads(json_string)
JSONファイルの書き出しとpandasへの変換
最後に、JSONファイルの書き出しとpandasへの変換方法を見ていきます。`json.dump()`関数を使えば、辞書型のデータをファイルに書き出すことができます。
with open("output.json", "w") as f:
json.dump(data_from_string, f, indent=2)
また、データ分析を行いやすいようにpandasのデータフレーム型に変換することも可能です。
import pandas as pd
df_id = pd.DataFrame(user_id_list, columns=['id'])
df_name = pd.DataFrame(user_name_list, columns=['name'])
df_email = pd.DataFrame(user_email_list, columns=['email'])
df_user = pd.concat([df_id, df_name, df_email], axis=1, join='inner')
まとめ
今回は、PythonでのJSONファイルの取り扱い方法について解説しました。JSONファイルはデータ分析や機械学習の現場で頻繁に使われるため、ここで紹介した使い方をしっかりとマスターしておくことをおすすめします。ぜひ実際にコードを書いて、JSONファイルを自在に操れるようになってください!
この記事が気に入ったらサポートをしてみませんか?