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)
コメント