PythonでJSONファイルを読み書きする方法と天気情報の取得例

PythonでJSONファイルを操作する際には、組み込みのjsonモジュールを使用します。以下に、基本的なJSONファイルの読み取りと書き込みの手順を説明します。

スポンサーリンク

JSONで記述できる型

JSONで扱えるPythonの型は下記のとおりです。

文字列、整数、浮動小数点、ブール値、リスト、辞書、None

スポンサーリンク

JSONファイルの読み取り

import json

# JSONファイルの読み取り
with open('ファイル名.json', 'r') as file:
    data = json.load(file)

# 読み取ったデータの利用
# data変数にはJSONデータがPythonの辞書やリストとして読み込まれます
print(data)

json.load() 関数は、JSONファイルからデータを読み込み、Pythonの辞書やリストとして扱えるようにします。

JSONファイルへの書き込み

import json

# 書き込むデータ
data = {
    "key1": "value1",
    "key2": "value2"
}

# JSONファイルへの書き込み
with open('ファイル名.json', 'w') as file:
    json.dump(data, file)

json.dump() 関数は、PythonのデータをJSONファイルに書き込みます。引数に書き込むデータとファイルオブジェクトを指定します。

jsonデータはどういうときに使われるのか?

jsonはどういうときによく使われるかというと、APIにリクエストしたときのレスポンスの形式としてjsonがよく使われます。APIとはアプリケーションプログラミングインターフェースですが、いろいろなサービスで公開されていることがあります。例えば↓の例ではOpenWeatherMapのAPIにリクエストしてjsonのレスポンスを取得します。

下記のコードは「退屈なことはPythonにやらせよう」という書籍にかかれているコードを改良したものです。各国の天気データを取得するには、OpenWeatherMapのAPIを使用する必要があります。
Weather API – OpenWeatherMap

import json, requests, pprint

APPID = '-------------'  # APIキーの定義
url = 'http://api.openweathermap.org/data/2.5/weather?q={}&appid={}'.format('London', APPID)
response = requests.get(url)
response.raise_for_status()

weather_data = json.loads(response.text)
print(type(weather_data))
pprint.pprint(weather_data)

コメント

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