TabPy経由のRESAS-API接続
本記事では、TableauのTabPyを用いたRESAS-API接続を取り上げたいと思います。
TableauとPythonの連携環境(TabPy)構築は、こちら。
データ
今回はサンプル・データとして、「昼間人口・夜間人口の地域別構成割合」を用いました。
サンプル・コード
本コードでは、指定した市区町村別の「昼間人口」と「夜間人口」のデータをRESAS-API経由で取得した後に「昼夜間差分人口」を算出して、Tableauの計算フィールドにINT型で渡しています。
SCRIPT_INT(' import json, requests differenceArray = [0] * len(_arg2) # RESAS API key api_key = "***" for i in range(len(_arg2)): # RESAS API endpoint url = "https://opendata.resas-portal.go.jp/" # RESAS API path url += "api/v1/townPlanning/commuteSchool/areaPopulationCircle?mode=2&year=2010" url += "&prefecture_cd=" + _arg1[i] + "&city_cd=" + _arg2[i] # Request Header head={ "Content-Type": "application/json;charset=UTF-8", "X-API-KEY": api_key } try: # Get Request req = requests.get(url, headers=head, timeout=1.0) except: differenceArray[i] = -1 else: # Decode Response res = json.loads(req._content.decode("utf-8")) differenceArray[i] = res["result"]["noonDataSum"] - res["result"]["nightDataSum"] finally: sleep(0.2) return differenceArray ', ATTR([都道府県コード]), ATTR([市区町村コード]) )
図表1:スクリプトの入力例