【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ファイルを自在に操れるようになってください!

いいなと思ったら応援しよう!