PythonでJSONファイルをフィルタリングし新規ファイルに保存する方法

この記事では、Pythonを使用してJSONファイルのデータをフィルタリングし、新しいファイルに保存する方法について詳しく解説します。具体的なコード例とその解説、さらには応用例を3つも含めています。これにより、Pythonのデータ処理の幅が広がるでしょう。

目次

基本的なフィルタリング方法

JSONファイルからデータを読み込み、条件に応じてフィルタリングを行い、その結果を新しいファイルに保存するという処理は非常に一般的です。以下にその基本的な手法を示します。

必要なライブラリのインポート

最初に、必要なPython標準ライブラリをインポートします。

import json

JSONファイルの読み込み

`json` モジュールを使用してJSONファイルを読み込みます。

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

データのフィルタリング

次に、読み込んだデータをフィルタリングします。例えば、ageが20以上のデータのみを抽出する場合は以下のようにします。

filtered_data = [item for item in data if item['age'] >= 20]

新しいファイルへの保存

フィルタリングしたデータを新しいJSONファイルに保存します。

with open('filtered.json', 'w') as f:
    json.dump(filtered_data, f)

応用例

このセクションでは、より複雑なフィルタリング方法を3つ紹介します。

応用例1:複数条件のフィルタリング

ageが20以上で、かつ、cityが’Tokyo’であるデータを抽出する例です。

filtered_data = [item for item in data if item['age'] >= 20 and item['city'] == 'Tokyo']

応用例2:関数を用いたフィルタリング

特定の関数を使ってデータをフィルタリングする方法です。

def filter_function(item):
    return item['age'] >= 20 and item['city'] == 'Tokyo'

filtered_data = filter(filter_function, data)

応用例3:外部APIと連携

外部APIから取得したデータを同様にフィルタリングする方法を示します。

import requests

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

filtered_data = [item for item in data if item['age'] >= 20]

まとめ

Pythonを用いてJSONファイルのデータを効率よくフィルタリングし、新しいファイルに保存する方法について詳しく解説しました。基本的な手法から、複数条件のフィルタリング、関数を使った方法、外部APIとの連携まで、様々な応用例を交えて説明しました。これらの知識を活かして、Pythonでのデータ処理をより一層効率化してください。

コメント

コメントする

目次