PythonでJSONデータを読み書きする方法

Sponsored Link

はじめに

JSON (JavaScript Object Notation) は、データ交換のフォーマットとして非常に広く使われています。Pythonを使ってJSON形式のデータを扱う場面も多く、データの読み込み、書き込み、そして加工が必要となることがよくあります。本記事では、Pythonの標準ライブラリを使用してJSONデータを操作する基本的な方法から、少し発展的な応用例までを解説します。

JSONデータの読み込み

PythonでJSONデータを読み込む基本

まず、PythonでJSONデータを扱うためにはjsonライブラリをインポートします。このライブラリには、JSONデータをPythonの辞書やリストに変換するためのload()およびloads()メソッドが用意されています。

ファイルから読み込む

load()はファイルからJSONデータを直接読み込む際に使用します。例えば、次のようなdata.jsonというファイルがあるとします。

data.json

{
"name": "John",
"age": 30,
"city": "New York"
}

このJSONファイルをPythonで読み込むには以下のコードを使用します。

import json

with open('data.json', 'r') as file:
data = json.load(file)

print(data)

このコードを実行すると、Pythonの辞書としてデータが取得されます。

{'name': 'John', 'age': 30, 'city': 'New York'}

文字列から読み込む

loads()を使用すると、JSON形式の文字列をPythonのデータ構造に変換できます。

import json

json_string = '{"name": "Jane", "age": 25, "city": "Los Angeles"}'
data = json.loads(json_string)

print(data)

これで、文字列から直接Python辞書に変換できます。

JSONデータの書き込み

PythonでJSONデータを書き込む基本

JSONデータを書き込む際は、dump()メソッドやdumps()メソッドを使います。

ファイルに書き込む

Pythonの辞書やリストをJSON形式でファイルに書き出す場合は、dump()を使用します。

import json

data = {
"name": "Alice",
"age": 28,
"city": "San Francisco"
}

with open('output.json', 'w') as file:
json.dump(data, file)

このコードを実行すると、output.jsonというファイルにJSON形式でデータが書き込まれます。

文字列として書き出す

dumps()メソッドを使うと、Pythonの辞書やリストをJSON形式の文字列として書き出すことができます。

import json

data = {
"name": "Bob",
"age": 22,
"city": "Chicago"
}

json_string = json.dumps(data)
print(json_string)

JSONデータの整形

インデントをつけて見やすく書き出す

データを見やすくするために、indentパラメータを使用して整形することが可能です。インデントはスペースの数を指定でき、通常は2または4を指定します。

import json

data = {
"name": "Charlie",
"age": 35,
"city": "Boston"
}

json_string = json.dumps(data, indent=4)
print(json_string)

JSONデータの加工と応用

JSONデータを使用する実務の場面では、データの加工が必要になる場合もあります。以下に、よくあるケースをいくつか紹介します。

辞書の特定のキーの値を変更する

例えば、以下のようなJSONデータのageフィールドを更新したい場合のコードは次の通りです。

data = {
"name": "Daisy",
"age": 20,
"city": "Seattle"
}

# ageの値を変更
data['age'] = 21

# 結果を表示
print(data)

JSONデータにコメントを追加する方法

Pythonのjsonライブラリは、標準のJSON形式ではコメントをサポートしていません。しかし、代替方法として以下のような手法があります。

1. データとしてコメントを残す

コメントをJSONのデータの一部として残しておく方法です。

data = {
"_comment": "This data represents a user's information.",
"name": "Eve",
"age": 29,
"city": "Denver"
}

2. JSONC形式でコメントを使う

もし開発環境や他のツールがJSONC (コメント付きJSON)をサポートしている場合は、コメントをそのまま記載できます。

{
// ユーザー名
"name": "Frank",
// ユーザーの年齢
"age": 40,
"city": "Houston"
}

まとめ

この記事では、PythonでJSONファイルを読み込む方法、書き込む方法、そしてデータを加工する方法について解説しました。Pythonのjsonライブラリを使用すれば、簡単にデータを読み書きでき、また応用的なデータ操作も可能です。JSONファイルを取り扱う機会がある方は、ぜひ実際に手を動かしながら試してみてください。

Welcome to Python.org
The official home of the Python Programming Language
JSON
タイトルとURLをコピーしました