金子邦彦研究室インストールオープンデータ,データファイル処理政府統計の総合窓口, 市町村の人口総数(Excel ファイルのダウンロード,SQLite 3 データベースの生成)

政府統計の総合窓口, 市町村の人口総数(Excel ファイルのダウンロード,SQLite 3 データベースの生成)

このページでは, 政府統計の総合窓口 (e-stat) からダウンロードした統計表データを加工して使用する.

商用目的をお考えの場合には、十分に、使用条件を確認してください。オープンではあっても、使用条件がある.

政府統計の総合窓口, 市町村の人口総数(Excel ファイルのダウンロード,SQLite 3 データベースの生成)

  1. 政府統計の総合窓口 (e-stat) のページ

    http://www.e-stat.go.jp/estat/html/spec.html

  2. 使用条件の確認. 合意できる場合のみ続行
  3. 「統計でみる市区町村のすがた2022 / 基礎データ 」のページから,Excel ファイルをダウンロード

    「2022」のところは,自分の欲しいデータに合わせること.

SQLite 3 データベースの生成(Windows 上)

SQLite 3 のインストール

SQLite 3は,リレーショナルデータベース管理システム

あらかじめ決めておく事項

このページでは,SQLite 3 データベースの生成を行う. 生成するSQLite 3 データベースのデータベース名を決めておくこと.

生成する CSV ファイル: /tmp/estat.csv

生成するSQLite3 データベース名: /tmp/estat.db

データベース名は,自由に決めてよいが,半角文字(つまり英字と英記号)を使い,スペースを含まないこと,

SQLite 3 データベースの生成

テーブル定義

2022-a(a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,bb,cc,dd,ee,ff,gg)

  1. csvkit, xlsx2csv, nkf のインストール

    csvkit: in2csv を使いたい.その他,CSV ファイルの処理を行う機能もある.

    xlsx2csv: 将来 xlsx2csv を使う可能性に備えて

    nkf: テキストファイル中の漢字コードの変換

    sudo apt -y install csvkit xlsx2csv nkf
    
  2. 各列の属性名

    a,b,c ... のように属性名をつけておく

    rm -f /tmp/header
    echo "a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,aa,bb,cc,dd,ee,ff,gg" > /tmp/header
    

    [image]
  3. Excel ファイルを CSV ファイルに変換(in2csv を使用)

    taild -n +24」により,先頭 23行を読み飛ばして,24行目から使用する.

    cp header /tmp/estat.csv
    in2csv --no-header-row /tmp/2022-a.xls | tail -n +24 >> /tmp/estat.csv
    

    [image]
  4. CSV ファイルから SQLite 3 データベースの生成
    rm -f /tmp/estat.db
    csvsql --db sqlite:////tmp/estat.db --insert /tmp/estat.csv
    echo "vacuum;" | sqlite3 /tmp/estat.db
    echo "select * from estat limit 20;" | sqlite3 /tmp/estat.db
    

    次のように先頭 20行が表示される(確認のため表示している)

    [image]