Python初心者向け:JSONファイルの読み込み方法を解説

python
記事内に広告が含まれています。

PythonではJSON形式のデータを簡単に扱うことができ、特にWebアプリケーションやAPIとのやり取りにおいて頻繁に使用されます。

本記事では、JSONデータの読み込み方法を初心者向けに詳しく解説し、実際にPythonでJSONファイルを読み込む手順をコード例を交えて説明します。

Pythonでのデータ操作を学ぶ上で非常に重要なトピックですので、ぜひ最後までお読みください。

DMM WEBCAMP
  • 未経験者向けプログラミングスクール
  • 現役エンジニアがしっかりサポート
  • 卒業後も安心の転職・副業サポート

JSONとは?基本的な概念と利用用途

まず、JSONとは何かを理解することが重要です。

JSONは「JavaScript Object Notation」の略で、データを軽量かつ人間が読みやすい形式で表現するためのフォーマットです。

多くのプログラミング言語で対応しており、特にWebアプリケーションやAPIで使用されるデータ形式として広く普及しています。

例えば、APIからユーザー情報や商品データを取得する際にJSON形式で受け取ることが一般的です。

JSONの基本構造

JSONはキーと値のペアで構成され、配列やネストもサポートしています。

例えば、次のような形式でデータを表現します。

{
    "name": "John",
    "age": 30,
    "hobbies": ["reading", "gaming", "coding"]
}

このように、キーが文字列で、は文字列、数値、配列、またはオブジェクト(辞書)を持つことができます。

JSONのメリット

JSONの最大のメリットは、軽量で読みやすいことです。

XMLなど他のデータ形式に比べて、構造がシンプルで、特にWebサービスでデータをやり取りする際に効率的です。

また、言語に依存しないため、さまざまなプログラミング言語で使用できます。

PythonでのJSONサポート

Pythonには標準ライブラリとしてjsonモジュールが用意されており、追加のインストールなしでJSONデータを扱うことができます。

次のセクションでは、Pythonを使って具体的にJSONファイルを読み込む方法を見ていきましょう。

techgym
  • 20000人が学んだpythonの教材
  • 正しい情報をまとめて入手
  • 様々なゲームを作成しながら楽しくpythonが身に付く
  • 自主学習派はこれ一択!

今なら1年間有効なzoomサポート付き!

PythonでのJSONファイルの読み込み方法

PythonでJSONファイルを読み込む際には、jsonモジュールを使用します。

このモジュールを使うことで、JSON形式のファイルを辞書型(dict)として扱うことができます。

以下に、PythonでJSONファイルを読み込む基本的な方法を紹介します。

JSONファイルの読み込み手順

まずは、次のコード例を見てください。

このコードでは、ローカルに保存されているJSONファイルを読み込んで、その内容を表示します。

import json

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

json.load()を使うことで、ファイルの内容を辞書型に変換して操作できるようになります。

このコードを実行すると、data.jsonファイルの内容がコンソールに出力されます。

JSONデータを扱う際の注意点

JSONデータを読み込む際には、エラー処理を追加することが推奨されます。

例えば、ファイルが存在しない場合や、読み込んだデータが正しい形式でない場合に備えて、エラーハンドリングを行います。

import json

try:
    with open('data.json', 'r') as file:
        data = json.load(file)
except FileNotFoundError:
    print("ファイルが見つかりません")
except json.JSONDecodeError:
    print("JSONデータの形式が不正です")

これにより、予期せぬエラーを防ぎ、より堅牢なコードを書くことができます。

APIからのJSONデータの読み込み

JSONファイルだけでなく、APIから取得したデータもJSON形式であることが多いです。

Pythonのrequestsライブラリを使えば、APIからJSONデータを簡単に取得できます。

import requests

response = requests.get('https://api.example.com/data')
data = response.json()
print(data)

このコードでは、指定したURLからJSONデータを取得し、response.json()で辞書型に変換しています。

プログラミングスクール受講時には教育訓練給付制度を利用することで、受講料の最大80%の給付を受けることが可能です。

JSONデータの操作方法

PythonでJSONデータを読み込んだ後、そのデータを操作する方法について解説します。

JSONデータは辞書型に変換されるため、辞書の操作方法と同じ要領で扱うことができます。

辞書型データの基本操作

読み込んだJSONデータが辞書型に変換されるため、キーを使ってデータを取得したり、更新したりすることができます。

次の例を見てみましょう。

print(data['name'])
data['age'] = 31

このコードでは、nameキーの値を取得し、ageキーの値を更新しています。

ネストされたデータの操作

JSONデータにはネストされたオブジェクトや配列が含まれていることがあります。

次の例では、ネストされたデータにアクセスする方法を示します。

print(data['hobbies'][0])

このコードでは、hobbies配列の最初の要素を取得しています。

JSONデータの追加と削除

辞書型に変換されたJSONデータに対して、新しいデータを追加したり、既存のデータを削除することも可能です。

data['address'] = 'Tokyo'
del data['age']

この例では、addressキーを追加し、ageキーを削除しています。

JSONデータの保存方法

JSONファイルを読み込んで操作した後は、編集したデータを再度保存することができます。

次に、PythonでJSONデータをファイルに保存する方法を紹介します。

json.dump()を使った保存

Pythonではjson.dump()を使って、辞書型のデータをJSON形式で保存することができます。

次のコードを見てみましょう。

import json

data = {"name": "John", "age": 30}

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

このコードでは、dataという辞書をdata.jsonというファイルに保存しています。

インデントを指定して保存する方法

JSONファイルを保存する際に、インデントを指定することで読みやすくフォーマットすることができます。

次の例では、インデントを指定してJSONデータを保存しています。

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

このコードにより、保存されたJSONファイルはインデント付きでフォーマットされます。

ファイルに書き込む際の注意点

ファイルにデータを書き込む際には、既存のファイルを上書きしないように注意が必要です。

また、大量のデータを書き込む際には、メモリ効率やパフォーマンスを考慮してコードを最適化することが重要です。

【リモートワークには必須】
キャリアに合わせてお得に光回線を利用しよう
ドコモ光
開通後、最短一ヶ月で35,000円のキャッシュバック!
 
auひかり
難しい条件一切なしで、最大12,7000円のキャッシュバック!
 
ソフトバンク光
高額キャッシュバックや豪華特典をお届け!

まとめ:PythonでのJSONデータの取り扱い

今回は、PythonでJSONデータを読み込む方法と、その後の操作、保存方法について解説しました。

JSONは非常に汎用性が高く、多くの場面で利用されるデータ形式です。

PythonでのJSONデータの操作をマスターすれば、APIやWebサービスとの連携がスムーズに行えるようになります。

これからも、さまざまなJSONデータを使ったプログラミングを楽しみながら学んでいきましょう。

【給付金が受けられる】おすすめプログラミングスクール!
  • DMM WEBCAMP
    転職成功率98%&離職率2.3%
    転職できなければ全額返金DMM.comグループならで非公開求人も多数
  • テックアカデミー
    【転職保証】受講生の100%が内定獲得!9割以上が未経験からスタート!LINEヤフー監修&万全サポート
  • Aidemy Premium
    【給付金利用の相談歓迎】AI・データ分析学ぶならAidemy Premium
  • ウズウズカレッジ
    初心者・文系出身者でもOK、IT未経験からの専門的な就業サポート

 

コメント

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