総務省APIを使用してデータを取得
計量経済学のパネルデータを作成するためにPythonでデータをとってみました。(備忘録です)
準備
Python実行環境
総務省APIの取得
こちらからユーザ登録して取得できます。
## コード
def_TakeData
import requests,urllib
import pandas as pd
import numpy as np
import json
def get_json(base_url,params):
params_str=urllib.parse.urlencode(params)
url=base_url+params_str
json=requests.get(url).json()
return json
def take_data(dataid):
appID="appIDを入れます"
base_url="http://api.e-stat.go.jp/rest/2.1/app/json/getStatsData?"
params={
"appId":appID,
"lang":"J",
"statsDataId":dataid,
"metaGetFlg":"Y",
"cntGetFlg":"N",
"sectionHeaderFlg":"1"
}
data=get_json(base_url,params)
return data
take
data=take_data(XXXXX)
json形式のデータが変換されます
urlは
http://api.e-stat.go.jp/rest/2.1/app/getStatsData?appId=&lang=J&statsDataId=(ここにデータIDを入れる)&metaGetFlg=Y&cntGetFlg=N§ionHeaderFlg=1
上記の形式です。
総務省サイトから簡単にAPIリクエストURLを参照できます。
json->DataFrame
例
df=pd.DataFrame(data['GET_STATS_DATA']['STATISTICAL_DATA']['DATA_INF']['VALUE'])
#jsonデータをpandasDataFrameに変換(例)
欲しいデータをDataFrameに格納します。
-`data['GET_STATS_DATA']['STATISTICAL_DATA']['CLASS_INF']['CLASS_OBJ']`
上記のコードでjsonにどのようなデータが入っているの確認できます。
これで操作しやすいDataFrameになりました
最後に
TwitterAPIとかよりは使いやすかったのでもっと詳しくかけるように頑張ります
Python初学者ですので間違いあれば指摘お願いいたします