5.json形式でファイルに書き出す - nsaku/xrepo-api-tutorial GitHub Wiki
やること
- json形式でデータをファイルに書き出す方法を確認します。
食レポAPIで取得したデータをそのまま保存しておくほか、json形式のデータの「形」を確認するのに便利なので、おさえておきましょう。
APIでデータ取得
test4.pyを作り、コードを書きましょう。
import requests
import json # ---- 追加
url = "http://metabolites.in/foods/api/dl-info-peaks/01026"
file_info = requests.get( url ).json()
out_file = "out4.json" # ---- 以下を編集
fh_out = open( out_file, "w", encoding="utf-8" ) # 1)
json.dump( file_info, fh_out, indent=4, ensure_ascii=False ) # 2)
fh_out.close() # 3)
出来上がった"out4.json"ファイルをテキストエディタで開いてみると、以下のように なっていると思います。
{
"name": "01026_peaks.zip",
"size": 2.530384
}
json形式では、文字列(リテラル)はダブルクォーテーション「"」でくくり、シングルクオーテーション「'」ではくくらないという決まりなので、そのように正しく記載されていることが分かります。
また、「項目名(キー)」と「値」が一行ごとに書き出されるため、jsonファイルの形が確認しやすいです。
プログラムの解説
- 1)では、前項と同様にファイルを開き、ファイルハンドラ(fh_out)で扱えるようにしています。
- 2)では、json.dump()関数を使って、file_infoの内容をファイルハンドラに書き出しています。この関数を使うために、jsonというモジュールをプログラムの2行目でインポートしています。indentは、整形するときの字下げの文字数を指定します。ensure_ascii=Falseは、日本語の含まれるデータの場合、文字コードを可読性の低いUnicodeに「しない」設定です。
-
- ファイルハンドラを閉じて完了です。