Python

【Python】第6章第5回:JSONファイルの操作方法

本記事では、PythonでJSONファイルを操作する方法を解説します。JSONはデータ交換で広く利用される形式で、Pythonの標準ライブラリを使えば簡単に扱うことができます。

0. 記事の概要

この記事を読むメリット

  • JSONファイルの基礎を理解:構造や用途を把握できます。
  • 実践的な操作を習得:Pythonを使ったJSONファイルの読み書き方法を学べます。
  • エラー処理のスキル向上:JSON操作時の注意点やエラー対策を理解できます。

この記事で学べること

  • JSONファイルの基礎知識
  • PythonでのJSONファイル読み書き方法
  • エラー処理と応用例

1. JSONファイルとは?

1.1 定義と特徴

JSON(JavaScript Object Notation)は、軽量なデータ交換フォーマットです。人間と機械の双方にとって読みやすく、書きやすいという特徴があります。

1.2 主な用途

  • API通信でのデータ交換
  • 設定ファイルの保存
  • データの永続化

2. PythonでJSONファイルを読み込む方法

2.1 Pythonの標準ライブラリjson

Pythonではjsonモジュールを使用してJSONデータを簡単に操作できます。

2.2 基本的なコード例

# JSONファイルを読み込む
import json

with open("example.json", "r") as file:
    data = json.load(file)  # JSONデータを辞書として読み込む
    print(data)
動作解説
  1. json.load()を使用して、JSONファイルの内容を辞書型データに変換します。
  2. with文を使用することで、ファイルを自動的に閉じることが保証されます。

3. PythonでJSONファイルを書き込む方法

3.1 JSONデータの作成と書き込み

Pythonの辞書型データをJSONファイルとして保存するには、json.dump()を使用します。

3.2 基本的なコード例

# JSONファイルに書き込む
import json

data = {
    "名前": "田中",
    "年齢": 30,
    "職業": "エンジニア"
}

with open("output.json", "w") as file:
    json.dump(data, file, ensure_ascii=False, indent=4)  # JSONファイルにデータを書き込む
動作解説
  1. json.dump()を使用して辞書型データをJSON形式で書き込みます。
  2. ensure_ascii=Falseを指定することで、日本語文字列を正しく保存します。
  3. indent=4でインデントを指定し、読みやすい形式で保存します。

4. 練習問題

以下の課題に挑戦してみましょう。

  1. 任意のJSONファイルを作成し、Pythonで読み込んで内容を出力してください。
  2. Pythonで辞書型データを作成し、JSONファイルに書き込んでください。
  3. 存在しないJSONファイルを読み込むコードを書き、エラー処理を組み込んでください。

5. 練習問題の解答と解説

問1〜3の解答例

# 問1: JSONファイルの読み込み
import json

with open("example.json", "r") as file:
    data = json.load(file)
    print(data)

# 問2: JSONファイルの書き込み
data = {
    "商品": "リンゴ",
    "価格": 100,
    "在庫": 50
}

with open("data.json", "w") as file:
    json.dump(data, file, ensure_ascii=False, indent=4)

# 問3: エラー処理付きJSON操作
try:
    with open("nonexistent.json", "r") as file:
        data = json.load(file)
except FileNotFoundError:
    print("ファイルが見つかりません。")

6. まとめ

本記事では、PythonでのJSONファイル操作を学びました。この知識を活用して、データの保存や通信を効率化してください。