LoginSignup
5

More than 3 years have passed since last update.

e-Stat APIをGoogle Colab (Python) からアクセスする

Last updated at Posted at 2019-02-27

はじめに

e-Stat APIのページでユーザ登録を行いユーザIDを取得する。その後、ログインして、AppID(現時点で40文字である。以下では、XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXと記載する)を取得する。URLは、utf-8で記載する必要がある。統計表IDは、TABLE_INFのidである。(e-Stat APIの仕様に、用語の対応表ぐらい書いてほしいところ。)

統計表情報取得

すべての表を取ると、Google Colabを動かしているWebブラウザがハングしてしまうので、ここでは制限値(limit)を100に設定している。そのほかにも期間指定等いろいろあるので試してほしい。

import requests
import xml.etree.ElementTree as ET

if __name__ == '__main__':
    url = u'https://api.e-stat.go.jp/rest/2.1/app/getStatsList?appId=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&limit=100'
    r = requests.get(url)
    root = ET.fromstring(r.content.decode(encoding='utf-8'))
    for e in root.getiterator():
      print(e.tag, e.attrib, e.text )

出力例(長いのでヘッダーのみを示す。)ここで、TABLE_INFが、統計表IDとなる。

GET_STATS_LIST {'{http://www.w3.org/2001/XMLSchema-instance}noNamespaceSchemaLocation': 'https://api.e-stat.go.jp/rest/2.1/schema/GetStatsList.xsd'} 

RESULT {} 

STATUS {} 0
ERROR_MSG {} 正常に終了しました。
DATE {} 2019-02-28T00:19:39.473+09:00
PARAMETER {} 

LANG {} J
DATA_FORMAT {} X
LIMIT {} 100
DATALIST_INF {} 

NUMBER {} 120694
RESULT_INF {} 

FROM_NUMBER {} 1
TO_NUMBER {} 100
NEXT_KEY {} 101
TABLE_INF {'id': '0003225650'} 

STAT_NAME {'code': '00100402'} 企業行動に関するアンケート調査
GOV_ORG {'code': '00100'} 内閣府
STATISTICS_NAME {} 企業行動に関するアンケート調査 上場企業
TITLE {'no': '1-1'} 1 景気・需要見通し 我が国の名目経済成長率見通し(次年度) 産業別
CYCLE {} 年度次
SURVEY_DATE {} 0
OPEN_DATE {} 2018-10-31
SMALL_AREA {} 0
MAIN_CATEGORY {'code': '07'} 企業・家計・経済
SUB_CATEGORY {'code': '01'} 企業活動
OVERALL_TOTAL_NUMBER {} 1608
UPDATED_DATE {} 2018-11-01
STATISTICS_NAME_SPEC {} 

TABULATION_CATEGORY {} 企業行動に関するアンケート調査
TABULATION_SUB_CATEGORY1 {} 上場企業
TITLE_SPEC {} 

TABLE_CATEGORY {} 1 景気・需要見通し
TABLE_NAME {} 我が国の名目経済成長率見通し(次年度)
TABLE_SUB_CATEGORY1 {} 産業別
TABLE_INF {'id': '0003225651'} 

メタ情報取得

上記の統計表ID(TABLE_INF=0003225651)を用いて情報取得する。

import requests
import xml.etree.ElementTree as ET

if __name__ == '__main__':
    url = u'https://api.e-stat.go.jp/rest/2.1/app/getMetaInfo?appId=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&statsDataId=0003225651'
    r = requests.get(url)
    root = ET.fromstring(r.content.decode(encoding='utf-8'))
    for e in root.getiterator():
      print(e.tag, e.attrib, e.text )

出力例(一部)

GET_META_INFO {'{http://www.w3.org/2001/XMLSchema-instance}noNamespaceSchemaLocation': 'https://api.e-stat.go.jp/rest/2.1/schema/GetMetaInfo.xsd'} 

RESULT {} 

STATUS {} 0
ERROR_MSG {} 正常に終了しました。
DATE {} 2019-02-28T01:27:33+09:00
PARAMETER {} 

LANG {} J
STATS_DATA_ID {} 0003225651
DATA_FORMAT {} X
METADATA_INF {} 

TABLE_INF {'id': '0003225651'} 

STAT_NAME {'code': '00100402'} 企業行動に関するアンケート調査
GOV_ORG {'code': '00100'} 内閣府
STATISTICS_NAME {} 企業行動に関するアンケート調査 上場企業
TITLE {'no': '1-1'} 1 景気・需要見通し 我が国の名目経済成長率見通し(次年度) 業種別
CYCLE {} 年度次
SURVEY_DATE {} 0
OPEN_DATE {} 2018-10-31
SMALL_AREA {} 0
MAIN_CATEGORY {'code': '07'} 企業・家計・経済
SUB_CATEGORY {'code': '01'} 企業活動
OVERALL_TOTAL_NUMBER {} 8968
UPDATED_DATE {} 2018-11-01
STATISTICS_NAME_SPEC {} 

TABULATION_CATEGORY {} 企業行動に関するアンケート調査
TABULATION_SUB_CATEGORY1 {} 上場企業
TITLE_SPEC {} 

TABLE_CATEGORY {} 1 景気・需要見通し
TABLE_NAME {} 我が国の名目経済成長率見通し(次年度)
TABLE_SUB_CATEGORY1 {} 業種別
CLASS_INF {} 

CLASS_OBJ {'id': 'cat01', 'name': '業種'} 

CLASS {'code': '10', 'name': '食料品', 'level': '1'} None
CLASS {'code': '20', 'name': '繊維製品', 'level': '1'} None
CLASS {'code': '30', 'name': 'パルプ・紙', 'level': '1'} None
CLASS {'code': '40', 'name': '化学', 'level': '1'} None
CLASS {'code': '50', 'name': '医薬品', 'level': '1'} None
CLASS {'code': '60', 'name': '石油・石炭製品', 'level': '1'} None
CLASS {'code': '70', 'name': 'ゴム製品', 'level': '1'} None
CLASS {'code': '80', 'name': 'ガラス・土石製品', 'level': '1'} None
CLASS {'code': '90', 'name': '鉄鋼', 'level': '1'} None
CLASS {'code': '100', 'name': '非鉄金属', 'level': '1'} None
CLASS {'code': '110', 'name': '金属製品', 'level': '1'} None
CLASS {'code': '120', 'name': '機械', 'level': '1'} None
CLASS {'code': '130', 'name': '電気機器', 'level': '1'} None
CLASS {'code': '140', 'name': '輸送用機器', 'level': '1'} None
CLASS {'code': '150', 'name': '精密機器', 'level': '1'} None
CLASS {'code': '170', 'name': 'その他製品', 'level': '1'} None
CLASS {'code': '180', 'name': '水産・農林業', 'level': '1'} None
CLASS {'code': '190', 'name': '鉱業', 'level': '1'} None
CLASS {'code': '200', 'name': '建設業', 'level': '1'} None
CLASS {'code': '210', 'name': '商業', 'level': '1'} None
CLASS {'code': '220', 'name': '卸売業', 'level': '1'} None
CLASS {'code': '230', 'name': '小売業', 'level': '1'} None
CLASS {'code': '240', 'name': '不動産業', 'level': '1'} None
CLASS {'code': '250', 'name': '陸運業', 'level': '1'} None
CLASS {'code': '260', 'name': '海運業', 'level': '1'} None
CLASS {'code': '270', 'name': '空運業', 'level': '1'} None
CLASS {'code': '280', 'name': '倉庫・運輸関連業', 'level': '1'} None
CLASS {'code': '300', 'name': '情報・通信業', 'level': '1'} None
CLASS {'code': '310', 'name': '電気・ガス業', 'level': '1'} None
CLASS {'code': '320', 'name': 'サービス業', 'level': '1'} None
CLASS {'code': '330', 'name': '銀行業', 'level': '1'} None
CLASS {'code': '340', 'name': '証券、商品先物取引業', 'level': '1'} None
CLASS {'code': '350', 'name': '保険業', 'level': '1'} None
CLASS {'code': '360', 'name': 'その他金融業', 'level': '1'} None

統計データ取得

上記の統計表ID(TABLE_INF=0003225651)を用いて情報取得する。

import requests
import xml.etree.ElementTree as ET

if __name__ == '__main__':
    url = u'https://api.e-stat.go.jp/rest/2.1/app/getStatsData?appId=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&statsDataId=0003225651'
    r = requests.get(url)
    root = ET.fromstring(r.content.decode(encoding='utf-8'))
    for e in root.getiterator():
      print(e.tag, e.attrib, e.text )

出力例(一部) VALUEというタグがあり数字が入っていることがわかる

GET_STATS_DATA {'{http://www.w3.org/2001/XMLSchema-instance}noNamespaceSchemaLocation': 'https://api.e-stat.go.jp/rest/2.1/schema/GetStatsData.xsd'} 

RESULT {} 

STATUS {} 0
ERROR_MSG {} 正常に終了しました。
DATE {} 2019-02-28T01:38:27.465+09:00
PARAMETER {} 

LANG {} J
STATS_DATA_ID {} 0003225651
DATA_FORMAT {} X
START_POSITION {} 1
METAGET_FLG {} Y
STATISTICAL_DATA {} 

RESULT_INF {} 

TOTAL_NUMBER {} 8968
FROM_NUMBER {} 1
TO_NUMBER {} 8968
TABLE_INF {'id': '0003225651'} 

STAT_NAME {'code': '00100402'} 企業行動に関するアンケート調査
GOV_ORG {'code': '00100'} 内閣府
STATISTICS_NAME {} 企業行動に関するアンケート調査 上場企業
TITLE {'no': '1-1'} 1 景気・需要見通し 我が国の名目経済成長率見通し(次年度) 業種別
CYCLE {} 年度次
SURVEY_DATE {} 0
OPEN_DATE {} 2018-10-31
SMALL_AREA {} 0
MAIN_CATEGORY {'code': '07'} 企業・家計・経済
SUB_CATEGORY {'code': '01'} 企業活動
OVERALL_TOTAL_NUMBER {} 8968
UPDATED_DATE {} 2018-11-01
STATISTICS_NAME_SPEC {} 

TABULATION_CATEGORY {} 企業行動に関するアンケート調査
TABULATION_SUB_CATEGORY1 {} 上場企業
TITLE_SPEC {} 

TABLE_CATEGORY {} 1 景気・需要見通し
TABLE_NAME {} 我が国の名目経済成長率見通し(次年度)
TABLE_SUB_CATEGORY1 {} 業種別
CLASS_INF {} 

CLASS_OBJ {'id': 'cat01', 'name': '業種'} 

CLASS {'code': '10', 'name': '食料品', 'level': '1'} None
CLASS {'code': '20', 'name': '繊維製品', 'level': '1'} None
CLASS {'code': '30', 'name': 'パルプ・紙', 'level': '1'} None
CLASS {'code': '40', 'name': '化学', 'level': '1'} None
CLASS {'code': '50', 'name': '医薬品', 'level': '1'} None
CLASS {'code': '60', 'name': '石油・石炭製品', 'level': '1'} None
CLASS {'code': '70', 'name': 'ゴム製品', 'level': '1'} None
CLASS {'code': '80', 'name': 'ガラス・土石製品', 'level': '1'} None
CLASS {'code': '90', 'name': '鉄鋼', 'level': '1'} None
CLASS {'code': '100', 'name': '非鉄金属', 'level': '1'} None
CLASS {'code': '110', 'name': '金属製品', 'level': '1'} None
CLASS {'code': '120', 'name': '機械', 'level': '1'} None
CLASS {'code': '130', 'name': '電気機器', 'level': '1'} None
CLASS {'code': '140', 'name': '輸送用機器', 'level': '1'} None
CLASS {'code': '150', 'name': '精密機器', 'level': '1'} None
CLASS {'code': '170', 'name': 'その他製品', 'level': '1'} None
CLASS {'code': '180', 'name': '水産・農林業', 'level': '1'} None
CLASS {'code': '190', 'name': '鉱業', 'level': '1'} None
CLASS {'code': '200', 'name': '建設業', 'level': '1'} None
CLASS {'code': '210', 'name': '商業', 'level': '1'} None
CLASS {'code': '220', 'name': '卸売業', 'level': '1'} None
CLASS {'code': '230', 'name': '小売業', 'level': '1'} None
CLASS {'code': '240', 'name': '不動産業', 'level': '1'} None
CLASS {'code': '250', 'name': '陸運業', 'level': '1'} None
CLASS {'code': '260', 'name': '海運業', 'level': '1'} None
CLASS {'code': '270', 'name': '空運業', 'level': '1'} None
CLASS {'code': '280', 'name': '倉庫・運輸関連業', 'level': '1'} None
CLASS {'code': '300', 'name': '情報・通信業', 'level': '1'} None
CLASS {'code': '310', 'name': '電気・ガス業', 'level': '1'} None
CLASS {'code': '320', 'name': 'サービス業', 'level': '1'} None
CLASS {'code': '330', 'name': '銀行業', 'level': '1'} None
CLASS {'code': '340', 'name': '証券、商品先物取引業', 'level': '1'} None
CLASS {'code': '350', 'name': '保険業', 'level': '1'} None
CLASS {'code': '360', 'name': 'その他金融業', 'level': '1'} None
CLASS_OBJ {'id': 'cat02', 'name': '我が国の名目経済成長率見通し'} 

CLASS {'code': '10', 'name': '回答企業数', 'level': '1', 'unit': '社'} None
CLASS {'code': '20', 'name': '△3%以下', 'level': '1', 'unit': '%'} None
CLASS {'code': '30', 'name': '△3%超△2%以下', 'level': '1', 'unit': '%'} None
CLASS {'code': '40', 'name': '△2%超△1%以下', 'level': '1', 'unit': '%'} None
CLASS {'code': '50', 'name': '△1%超0%未満', 'level': '1', 'unit': '%'} None
CLASS {'code': '60', 'name': '0%以上1%未満', 'level': '1', 'unit': '%'} None
CLASS {'code': '70', 'name': '1%以上2%未満', 'level': '1', 'unit': '%'} None
CLASS {'code': '80', 'name': '△1%超△0.5%以下', 'level': '1', 'unit': '%'} None
CLASS {'code': '90', 'name': '△0.5%超0%未満', 'level': '1', 'unit': '%'} None
CLASS {'code': '100', 'name': '0%', 'level': '1', 'unit': '%'} None
CLASS {'code': '110', 'name': '0%超0.5%未満', 'level': '1', 'unit': '%'} None
CLASS {'code': '120', 'name': '0.5%以上1%未満', 'level': '1', 'unit': '%'} None
CLASS {'code': '130', 'name': '1%以上1.5%未満', 'level': '1', 'unit': '%'} None
CLASS {'code': '140', 'name': '1.5%以上2%未満', 'level': '1', 'unit': '%'} None
CLASS {'code': '150', 'name': '2%以上3%未満', 'level': '1', 'unit': '%'} None
CLASS {'code': '160', 'name': '3%以上4%未満', 'level': '1', 'unit': '%'} None
CLASS {'code': '170', 'name': '4%以上5%未満', 'level': '1', 'unit': '%'} None
CLASS {'code': '180', 'name': '5%以上', 'level': '1', 'unit': '%'} None
CLASS {'code': '190', 'name': '5%以上6%未満', 'level': '1', 'unit': '%'} None
CLASS {'code': '200', 'name': '6%以上7%未満', 'level': '1', 'unit': '%'} None
CLASS {'code': '210', 'name': '7%以上', 'level': '1', 'unit': '%'} None
CLASS {'code': '220', 'name': '階級値平均', 'level': '1', 'unit': '%'} None
CLASS {'code': '230', 'name': '実数値平均', 'level': '1', 'unit': '%'} None
CLASS {'code': '240', 'name': '標準偏差(実数値)', 'level': '1'} None
CLASS_OBJ {'id': 'time', 'name': '年度次'} 

CLASS {'code': '2017100000', 'name': '2017年度', 'level': '1'} None
CLASS {'code': '2016100000', 'name': '2016年度', 'level': '1'} None
CLASS {'code': '2015100000', 'name': '2015年度', 'level': '1'} None
CLASS {'code': '2014100000', 'name': '2014年度', 'level': '1'} None
CLASS {'code': '2013100000', 'name': '2013年度', 'level': '1'} None
CLASS {'code': '2012100000', 'name': '2012年度', 'level': '1'} None
CLASS {'code': '2011100000', 'name': '2011年度', 'level': '1'} None
CLASS {'code': '2010100000', 'name': '2010年度', 'level': '1'} None
CLASS {'code': '2009100000', 'name': '2009年度', 'level': '1'} None
CLASS {'code': '2008100000', 'name': '2008年度', 'level': '1'} None
CLASS {'code': '2007100000', 'name': '2007年度', 'level': '1'} None
CLASS {'code': '2006100000', 'name': '2006年度', 'level': '1'} None
CLASS {'code': '2005100000', 'name': '2005年度', 'level': '1'} None
CLASS {'code': '2004100000', 'name': '2004年度', 'level': '1'} None
CLASS {'code': '2003100000', 'name': '2003年度', 'level': '1'} None
DATA_INF {} 

NOTE {'char': '***'} 調査又は集計していないもの
NOTE {'char': '-'} 皆無または定義上該当数字がないもの
NOTE {'char': 'x'} 数値が秘匿されているもの
VALUE {'cat01': '10', 'cat02': '10', 'time': '2017100000', 'unit': '社'} 25
VALUE {'cat01': '10', 'cat02': '10', 'time': '2016100000', 'unit': '社'} 36
VALUE {'cat01': '10', 'cat02': '10', 'time': '2015100000', 'unit': '社'} 26
VALUE {'cat01': '10', 'cat02': '10', 'time': '2014100000', 'unit': '社'} 25
VALUE {'cat01': '10', 'cat02': '10', 'time': '2013100000', 'unit': '社'} 27
VALUE {'cat01': '10', 'cat02': '10', 'time': '2012100000', 'unit': '社'} 30
VALUE {'cat01': '10', 'cat02': '10', 'time': '2011100000', 'unit': '社'} 28
VALUE {'cat01': '10', 'cat02': '10', 'time': '2010100000', 'unit': '社'} 28
VALUE {'cat01': '10', 'cat02': '10', 'time': '2009100000', 'unit': '社'} 33
VALUE {'cat01': '10', 'cat02': '10', 'time': '2008100000', 'unit': '社'} 32
VALUE {'cat01': '10', 'cat02': '10', 'time': '2007100000', 'unit': '社'} 41
VALUE {'cat01': '10', 'cat02': '10', 'time': '2006100000', 'unit': '社'} 39
VALUE {'cat01': '10', 'cat02': '10', 'time': '2005100000', 'unit': '社'} 37
VALUE {'cat01': '10', 'cat02': '10', 'time': '2004100000', 'unit': '社'} 38
VALUE {'cat01': '10', 'cat02': '10', 'time': '2003100000', 'unit': '社'} 52
VALUE {'cat01': '10', 'cat02': '20', 'time': '2017100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '20', 'time': '2016100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '20', 'time': '2015100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '20', 'time': '2014100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '20', 'time': '2013100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '20', 'time': '2012100000', 'unit': '%'} 3.3
VALUE {'cat01': '10', 'cat02': '20', 'time': '2011100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '20', 'time': '2010100000', 'unit': '%'} 7.1
VALUE {'cat01': '10', 'cat02': '20', 'time': '2009100000', 'unit': '%'} 3.0
VALUE {'cat01': '10', 'cat02': '20', 'time': '2008100000', 'unit': '%'} 18.8
VALUE {'cat01': '10', 'cat02': '20', 'time': '2007100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '20', 'time': '2006100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '20', 'time': '2005100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '20', 'time': '2004100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '20', 'time': '2003100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '30', 'time': '2017100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '30', 'time': '2016100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '30', 'time': '2015100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '30', 'time': '2014100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '30', 'time': '2013100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '30', 'time': '2012100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '30', 'time': '2011100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '30', 'time': '2010100000', 'unit': '%'} 14.3
VALUE {'cat01': '10', 'cat02': '30', 'time': '2009100000', 'unit': '%'} 6.1
VALUE {'cat01': '10', 'cat02': '30', 'time': '2008100000', 'unit': '%'} 9.4
VALUE {'cat01': '10', 'cat02': '30', 'time': '2007100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '30', 'time': '2006100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '30', 'time': '2005100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '30', 'time': '2004100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '30', 'time': '2003100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '40', 'time': '2017100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '40', 'time': '2016100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '40', 'time': '2015100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '40', 'time': '2014100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '40', 'time': '2013100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '40', 'time': '2012100000', 'unit': '%'} 3.3
VALUE {'cat01': '10', 'cat02': '40', 'time': '2011100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '40', 'time': '2010100000', 'unit': '%'} 3.6
VALUE {'cat01': '10', 'cat02': '40', 'time': '2009100000', 'unit': '%'} 12.1
VALUE {'cat01': '10', 'cat02': '40', 'time': '2008100000', 'unit': '%'} 15.6
VALUE {'cat01': '10', 'cat02': '40', 'time': '2007100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '40', 'time': '2006100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '40', 'time': '2005100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '40', 'time': '2004100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '40', 'time': '2003100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '50', 'time': '2003100000', 'unit': '%'} 11.5
VALUE {'cat01': '10', 'cat02': '60', 'time': '2003100000', 'unit': '%'} 48.1
VALUE {'cat01': '10', 'cat02': '70', 'time': '2003100000', 'unit': '%'} 30.8
VALUE {'cat01': '10', 'cat02': '80', 'time': '2017100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '80', 'time': '2016100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '80', 'time': '2015100000', 'unit': '%'} 3.8
VALUE {'cat01': '10', 'cat02': '80', 'time': '2014100000', 'unit': '%'} 8.0
VALUE {'cat01': '10', 'cat02': '80', 'time': '2013100000', 'unit': '%'} 3.7
VALUE {'cat01': '10', 'cat02': '80', 'time': '2012100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '80', 'time': '2011100000', 'unit': '%'} 3.6
VALUE {'cat01': '10', 'cat02': '80', 'time': '2010100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '80', 'time': '2009100000', 'unit': '%'} 6.1
VALUE {'cat01': '10', 'cat02': '80', 'time': '2008100000', 'unit': '%'} 6.3
VALUE {'cat01': '10', 'cat02': '80', 'time': '2007100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '80', 'time': '2006100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '80', 'time': '2005100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '80', 'time': '2004100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '90', 'time': '2017100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '90', 'time': '2016100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '90', 'time': '2015100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '90', 'time': '2014100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '90', 'time': '2013100000', 'unit': '%'} 3.7
VALUE {'cat01': '10', 'cat02': '90', 'time': '2012100000', 'unit': '%'} 3.3
VALUE {'cat01': '10', 'cat02': '90', 'time': '2011100000', 'unit': '%'} 3.6
VALUE {'cat01': '10', 'cat02': '90', 'time': '2010100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '90', 'time': '2009100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '90', 'time': '2008100000', 'unit': '%'} 6.3
VALUE {'cat01': '10', 'cat02': '90', 'time': '2007100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '90', 'time': '2006100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '90', 'time': '2005100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '90', 'time': '2004100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '100', 'time': '2017100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '100', 'time': '2016100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '100', 'time': '2015100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '100', 'time': '2014100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '100', 'time': '2013100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '100', 'time': '2012100000', 'unit': '%'} 10.0
VALUE {'cat01': '10', 'cat02': '100', 'time': '2011100000', 'unit': '%'} 10.7
VALUE {'cat01': '10', 'cat02': '100', 'time': '2010100000', 'unit': '%'} 3.6
VALUE {'cat01': '10', 'cat02': '100', 'time': '2009100000', 'unit': '%'} 18.2
VALUE {'cat01': '10', 'cat02': '100', 'time': '2008100000', 'unit': '%'} 25.0
VALUE {'cat01': '10', 'cat02': '100', 'time': '2007100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '100', 'time': '2006100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '100', 'time': '2005100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '100', 'time': '2004100000', 'unit': '%'} 5.3
VALUE {'cat01': '10', 'cat02': '110', 'time': '2017100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '110', 'time': '2016100000', 'unit': '%'} 2.8
VALUE {'cat01': '10', 'cat02': '110', 'time': '2015100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '110', 'time': '2014100000', 'unit': '%'} 4.0
VALUE {'cat01': '10', 'cat02': '110', 'time': '2013100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '110', 'time': '2012100000', 'unit': '%'} 10.0
VALUE {'cat01': '10', 'cat02': '110', 'time': '2011100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '110', 'time': '2010100000', 'unit': '%'} 10.7
VALUE {'cat01': '10', 'cat02': '110', 'time': '2009100000', 'unit': '%'} 18.2
VALUE {'cat01': '10', 'cat02': '110', 'time': '2008100000', 'unit': '%'} 9.4
VALUE {'cat01': '10', 'cat02': '110', 'time': '2007100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '110', 'time': '2006100000', 'unit': '%'} 2.6
VALUE {'cat01': '10', 'cat02': '110', 'time': '2005100000', 'unit': '%'} 2.7
VALUE {'cat01': '10', 'cat02': '110', 'time': '2004100000', 'unit': '%'} 7.9
VALUE {'cat01': '10', 'cat02': '120', 'time': '2017100000', 'unit': '%'} -
VALUE {'cat01': '10', 'cat02': '120', 'time': '2016100000', 'unit': '%'} 2.8
VALUE {'cat01': '10', 'cat02': '120', 'time': '2015100000', 'unit': '%'} 3.8
VALUE {'cat01': '10', 'cat02': '120', 'time': '2014100000', 'unit': '%'} 8.0
VALUE {'cat01': '10', 'cat02': '120', 'time': '2013100000', 'unit': '%'} 7.4
VALUE {'cat01': '10', 'cat02': '120', 'time': '2012100000', 'unit': '%'} 20.0
VALUE {'cat01': '10', 'cat02': '120', 'time': '2011100000', 'unit': '%'} 10.7
VALUE {'cat01': '10', 'cat02': '120', 'time': '2010100000', 'unit': '%'} 28.6
VALUE {'cat01': '10', 'cat02': '120', 'time': '2009100000', 'unit': '%'} 9.1
VALUE {'cat01': '10', 'cat02': '120', 'time': '2008100000', 'unit': '%'} 6.3
VALUE {'cat01': '10', 'cat02': '120', 'time': '2007100000', 'unit': '%'} 12.2
VALUE {'cat01': '10', 'cat02': '120', 'time': '2006100000', 'unit': '%'} 10.3
VALUE {'cat01': '10', 'cat02': '120', 'time': '2005100000', 'unit': '%'} 10.8
VALUE {'cat01': '10', 'cat02': '120', 'time': '2004100000', 'unit': '%'} 36.8
VALUE {'cat01': '10', 'cat02': '130', 'time': '2017100000', 'unit': '%'} 24.0
VALUE {'cat01': '10', 'cat02': '130', 'time': '2016100000', 'unit': '%'} 36.1
VALUE {'cat01': '10', 'cat02': '130', 'time': '2015100000', 'unit': '%'} 23.1
VALUE {'cat01': '10', 'cat02': '130', 'time': '2014100000', 'unit': '%'} 20.0
VALUE {'cat01': '10', 'cat02': '130', 'time': '2013100000', 'unit': '%'} 7.4
VALUE {'cat01': '10', 'cat02': '130', 'time': '2012100000', 'unit': '%'} 26.7
VALUE {'cat01': '10', 'cat02': '130', 'time': '2011100000', 'unit': '%'} 21.4
VALUE {'cat01': '10', 'cat02': '130', 'time': '2010100000', 'unit': '%'} 21.4
VALUE {'cat01': '10', 'cat02': '130', 'time': '2009100000', 'unit': '%'} 24.2
VALUE {'cat01': '10', 'cat02': '130', 'time': '2008100000', 'unit': '%'} 3.1
VALUE {'cat01': '10', 'cat02': '130', 'time': '2007100000', 'unit': '%'} 36.6
VALUE {'cat01': '10', 'cat02': '130', 'time': '2006100000', 'unit': '%'} 30.8
VALUE {'cat01': '10', 'cat02': '130', 'time': '2005100000', 'unit': '%'} 21.6
VALUE {'cat01': '10', 'cat02': '130', 'time': '2004100000', 'unit': '%'} 34.2
VALUE {'cat01': '10', 'cat02': '140', 'time': '2017100000', 'unit': '%'} 36.0
VALUE {'cat01': '10', 'cat02': '140', 'time': '2016100000', 'unit': '%'} 16.7
VALUE {'cat01': '10', 'cat02': '140', 'time': '2015100000', 'unit': '%'} 46.2
VALUE {'cat01': '10', 'cat02': '140', 'time': '2014100000', 'unit': '%'} 20.0
VALUE {'cat01': '10', 'cat02': '140', 'time': '2013100000', 'unit': '%'} 29.6
VALUE {'cat01': '10', 'cat02': '140', 'time': '2012100000', 'unit': '%'} 20.0

データセット参照

import requests
import xml.etree.ElementTree as ET

if __name__ == '__main__':
    url = u'https://api.e-stat.go.jp/rest/2.1/app/refDataset?appId=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
    r = requests.get(url)
    root = ET.fromstring(r.content.decode(encoding='utf-8'))
    for e in root.getiterator():
      print(e.tag, e.attrib, e.text )

出力例(一部のみ)

GET_DATASET_LIST {'{http://www.w3.org/2001/XMLSchema-instance}noNamespaceSchemaLocation': 'https://api.e-stat.go.jp/rest/2.1/schema/GetDataSetList.xsd'} 

RESULT {} 

STATUS {} 0
ERROR_MSG {} 正常に終了しました。
DATE {} 2019-02-28T00:36:09.817+09:00
PARAMETER {} 

LANG {} J
DATA_FORMAT {} X
DATASET_LIST_INF {} 

NUMBER {} 15
DATASET_INF {'id': '00200502-20181005113922'} 

DATASET_NAME {} test01010101
PUBLIC_STATE {} YES
RESULT_INF {} 

TOTAL_NUMBER {} 40002
TABLE_INF {'id': '0000020201'} 

STAT_NAME {'code': '00200502'} 社会・人口統計体系
GOV_ORG {'code': '00200'} 総務省
STATISTICS_NAME {} 市区町村データ 基礎データ(廃置分合処理済)
TITLE {'no': '0000020201'} A 人口・世帯
CYCLE {} 年度次
SURVEY_DATE {} 0
OPEN_DATE {} 2018-06-22
SMALL_AREA {} 0
MAIN_CATEGORY {'code': '99'} その他
SUB_CATEGORY {'code': '99'} その他
OVERALL_TOTAL_NUMBER {} 1450467
UPDATED_DATE {} 2019-02-25
STATISTICS_NAME_SPEC {} None
TITLE_SPEC {} None
DATASET_INF {'id': 'CTCdemo-kokusei1'}

データカタログ情報取得

Google Colabでは、4分以上かかったが実行は出来た。

import requests
import xml.etree.ElementTree as ET

if __name__ == '__main__':
    url = u'https://api.e-stat.go.jp/rest/2.1/app/getDataCatalog?appId=XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX&limit=100'
    r = requests.get(url)
    root = ET.fromstring(r.content.decode(encoding='utf-8'))
    for e in root.getiterator():
      print(e.tag, e.attrib, e.text )

出力例(一部)

GET_DATA_CATALOG {'{http://www.w3.org/2001/XMLSchema-instance}noNamespaceSchemaLocation': 'https://api.e-stat.go.jp/rest/2.1/schema/GetDataCatalog.xsd'} 

RESULT {} 

STATUS {} 0
ERROR_MSG {} 正常に終了しました。
DATE {} 2019-02-28T00:57:46.288+09:00
PARAMETER {} 

LANG {} J
DATA_FORMAT {} X
LIMIT {} 100
DATA_CATALOG_LIST_INF {} 

NUMBER {} 61397
RESULT_INF {} 

FROM_NUMBER {} 1
TO_NUMBER {} 100
NEXT_KEY {} 101
DATA_CATALOG_INF {'id': '000001127216'} 

DATASET {} 

STAT_NAME {'code': '00000001'} 民間企業退職金実態調査
ORGANIZATION {'code': '00000'} 内閣官房
TITLE {} 

NAME {} 平成13年民間企業退職金実態調査_2001年
TABULATION_CATEGORY {} 平成13年民間企業退職金実態調査
TABULATION_SUB_CATEGORY1 {} None
TABULATION_SUB_CATEGORY2 {} None
TABULATION_SUB_CATEGORY3 {} None
TABULATION_SUB_CATEGORY4 {} None
TABULATION_SUB_CATEGORY5 {} None
CYCLE {} None
SURVEY_DATE {} 2001
DESCRIPTION {} None
PUBLISHER {} 内閣官房
CONTACT_POINT {} 内閣人事局
CREATOR {} 内閣人事局
RELEASE_DATE {} 2014-09-25
LAST_MODIFIED_DATE {} None
FREQUENCY_OF_UPDATE {} None
LANDING_PAGE {} https://www.e-stat.go.jp/stat-search/files?layout=datalist&toukei=00000001&tstat=000001066644&cycle=0
RESOURCES {} 

RESOURCE {'id': '000007187092'} 

TITLE {} 

NAME {} 平成13年民間企業退職金実態調査
TABLE_CATEGORY {} None
TABLE_NO {} None
TABLE_NAME {} 平成13年民間企業退職金実態調査
TABLE_SUB_CATEGORY1 {} None
TABLE_SUB_CATEGORY2 {} None
TABLE_SUB_CATEGORY3 {} None
URL {} https://www.e-stat.go.jp/stat-search/file-download?&statInfId=000027234723&fileKind=2
DESCRIPTION {} None
FORMAT {} PDF
RELEASE_DATE {} 2014-09-25
LAST_MODIFIED_DATE {} None
RESOURCE_LICENCE_ID {} Government of Japan Standard Terms of Use
LANGUAGE {} J
DATA_CATALOG_INF {'id': '000001120218'} 

DATASET {} 

STAT_NAME {'code': '00000002'} 一般職国家公務員在職状況統計表(人事統計報告)
ORGANIZATION {'code': '00000'} 内閣官房
TITLE {} 

NAME {} 一般職国家公務員在職状況統計表(平成21年7月1日現在)_本統計表の説明_2009年度
TABULATION_CATEGORY {} 一般職国家公務員在職状況統計表(平成21年7月1日現在)
TABULATION_SUB_CATEGORY1 {} 本統計表の説明
TABULATION_SUB_CATEGORY2 {} None
TABULATION_SUB_CATEGORY3 {} None
TABULATION_SUB_CATEGORY4 {} None
TABULATION_SUB_CATEGORY5 {} None
CYCLE {} None
SURVEY_DATE {} 200904-201003
DESCRIPTION {} None
PUBLISHER {} 内閣官房
CONTACT_POINT {} 内閣人事局
CREATOR {} 内閣人事局
RELEASE_DATE {} 2016-11-01
LAST_MODIFIED_DATE {} None
FREQUENCY_OF_UPDATE {} None
LANDING_PAGE {} https://www.e-stat.go.jp/stat-search/files?layout=datalist&toukei=00000002&tstat=000001065638&cycle=0&tclass1=000001065619
RESOURCES {} 

RESOURCE {'id': '000006911974'} 

TITLE {} 

NAME {} -_本統計表の説明
TABLE_CATEGORY {} None
TABLE_NO {} -
TABLE_NAME {} 本統計表の説明
TABLE_SUB_CATEGORY1 {} None
TABLE_SUB_CATEGORY2 {} None
TABLE_SUB_CATEGORY3 {} None
URL {} https://www.e-stat.go.jp/stat-search/file-download?&statInfId=000026289253&fileKind=2
DESCRIPTION {} None
FORMAT {} PDF
RELEASE_DATE {} 2016-11-01
LAST_MODIFIED_DATE {} None
RESOURCE_LICENCE_ID {} Government of Japan Standard Terms of Use
LANGUAGE {} J
DATA_CATALOG_INF {'id': '000001120179'} 

DATASET {} 

STAT_NAME {'code': '00000002'} 一般職国家公務員在職状況統計表(人事統計報告)
ORGANIZATION {'code': '00000'} 内閣官房

統計データ一括取得

TODO

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5