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

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

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

```Python
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'} １　景気・需要見通し 我が国の名目経済成長率見通し（次年度） 産業別
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 {} １　景気・需要見通し
TABLE_NAME {} 我が国の名目経済成長率見通し（次年度）
TABLE_SUB_CATEGORY1 {} 産業別
TABLE_INF {'id': '0003225651'} 
```
#メタ情報取得
上記の統計表ID(TABLE_INF=0003225651)を用いて情報取得する。

```Python
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'} １　景気・需要見通し 我が国の名目経済成長率見通し（次年度） 業種別
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 {} １　景気・需要見通し
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)を用いて情報取得する。

```Python
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'} １　景気・需要見通し 我が国の名目経済成長率見通し（次年度） 業種別
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 {} １　景気・需要見通し
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': '△３％以下', 'level': '1', 'unit': '％'} None
CLASS {'code': '30', 'name': '△３％超△２％以下', 'level': '1', 'unit': '％'} None
CLASS {'code': '40', 'name': '△２％超△１％以下', 'level': '1', 'unit': '％'} None
CLASS {'code': '50', 'name': '△１％超０％未満', 'level': '1', 'unit': '％'} None
CLASS {'code': '60', 'name': '０％以上１％未満', 'level': '1', 'unit': '％'} None
CLASS {'code': '70', 'name': '１％以上２％未満', 'level': '1', 'unit': '％'} None
CLASS {'code': '80', 'name': '△１％超△０．５％以下', 'level': '1', 'unit': '％'} None
CLASS {'code': '90', 'name': '△０．５％超０％未満', 'level': '1', 'unit': '％'} None
CLASS {'code': '100', 'name': '０％', 'level': '1', 'unit': '％'} None
CLASS {'code': '110', 'name': '０％超０．５％未満', 'level': '1', 'unit': '％'} None
CLASS {'code': '120', 'name': '０．５％以上１％未満', 'level': '1', 'unit': '％'} None
CLASS {'code': '130', 'name': '１％以上１．５％未満', 'level': '1', 'unit': '％'} None
CLASS {'code': '140', 'name': '１．５％以上２％未満', 'level': '1', 'unit': '％'} None
CLASS {'code': '150', 'name': '２％以上３％未満', 'level': '1', 'unit': '％'} None
CLASS {'code': '160', 'name': '３％以上４％未満', 'level': '1', 'unit': '％'} None
CLASS {'code': '170', 'name': '４％以上５％未満', 'level': '1', 'unit': '％'} None
CLASS {'code': '180', 'name': '５％以上', 'level': '1', 'unit': '％'} None
CLASS {'code': '190', 'name': '５％以上６％未満', 'level': '1', 'unit': '％'} None
CLASS {'code': '200', 'name': '６％以上７％未満', 'level': '1', 'unit': '％'} None
CLASS {'code': '210', 'name': '７％以上', '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
```


#データセット参照


```Python
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'} Ａ　人口・世帯
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分以上かかったが実行は出来た。

```Python
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 {} 平成１３年民間企業退職金実態調査_2001年
TABULATION_CATEGORY {} 平成１３年民間企業退職金実態調査
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 {} 平成１３年民間企業退職金実態調査
TABLE_CATEGORY {} None
TABLE_NO {} None
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=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 {} 一般職国家公務員在職状況統計表（平成２１年７月１日現在）_本統計表の説明_2009年度
TABULATION_CATEGORY {} 一般職国家公務員在職状況統計表（平成２１年７月１日現在）
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