政府統計の総合窓口, 市町村の人口総数(Excel ファイルのダウンロード,SQLite 3 データベースの生成)
このページでは, 政府統計の総合窓口 (e-stat) からダウンロードした統計表データを加工して使用する.
商用目的をお考えの場合には、十分に、使用条件を確認してください。オープンではあっても、使用条件がある.
政府統計の総合窓口, 市町村の人口総数(Excel ファイルのダウンロード,SQLite 3 データベースの生成)
- 政府統計の総合窓口 (e-stat) のページ
- 使用条件の確認. 合意できる場合のみ続行
- 「統計でみる市区町村のすがた2022 / 基礎データ 」のページから,Excel ファイルをダウンロード
「2022」のところは,自分の欲しいデータに合わせること.
SQLite 3 データベースの生成(Windows 上)
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)
- csvkit, xlsx2csv, nkf のインストール
csvkit: in2csv を使いたい.その他,CSV ファイルの処理を行う機能もある.
xlsx2csv: 将来 xlsx2csv を使う可能性に備えて
nkf: テキストファイル中の漢字コードの変換
sudo apt -y install csvkit xlsx2csv nkf
- 各列の属性名
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 - Excel ファイルを CSV ファイルに変換(in2csv を使用)
- 処理する Excel ファイル名: /tmp/2022-a.xls
先頭行を属性名にしない(属性名は自動生成)
- 生成する CSV ファイル名: /tmp/estat.csv
「taild -n +24」により,先頭 23行を読み飛ばして,24行目から使用する.
cp header /tmp/estat.csv in2csv --no-header-row /tmp/2022-a.xls | tail -n +24 >> /tmp/estat.csv
- 処理する Excel ファイル名: /tmp/2022-a.xls
- CSV ファイルから SQLite 3 データベースの生成
- 処理する CSV ファイル名: /tmp/estat.csv
- 生成するSQLite3 データベース名: /tmp/estat.db
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行が表示される(確認のため表示している)