このページでは, 政府統計の総合窓口 (e-stat) からダウンロードした統計表データを加工して使用する.
商用目的をお考えの場合には、十分に、使用条件を確認してください。オープンではあっても、使用条件がある.
「2022」のところは,自分の欲しいデータに合わせること.
このページでは,SQLite 3 データベースの生成を行う. 生成するSQLite 3 データベースのデータベース名を決めておくこと.
生成する CSV ファイル: /tmp/estat.csv
生成するSQLite3 データベース名: /tmp/estat.db
データベース名は,自由に決めてよいが,半角文字(つまり英字と英記号)を使い,スペースを含まないこと,
テーブル定義
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: 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
先頭行を属性名にしない(属性名は自動生成)
「taild -n +24」により,先頭 23行を読み飛ばして,24行目から使用する.
cp header /tmp/estat.csv in2csv --no-header-row /tmp/2022-a.xls | tail -n +24 >> /tmp/estat.csv
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行が表示される(確認のため表示している)