やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

日本標準産業分類のCSVをUTF-8なTSVにする

 Shift-JISとかないわ。

成果物

日本標準産業分類

Microsoft汚染

  • CSVファイルは当たり前のようにShift-JIS
  • しかもq -e SJISでも変換できない(まさかEXCEL形式?)

 Microsoftは邪魔ばかりする。Unicode以外死んでくれ。Microsoftと癒着やめろ。

Unicode

  1. LibreOfficeCSVファイルを開く
  2. 文字コードShift-JISを指定すると文字化けが解消されるのを確認する
  3. OKボタンを押下して開く
  4. 範囲コピーする
  5. 任意テキストエディタに貼り付けてUTF-8のTSVを作る

 ここをシェルで自動化したいのだが、大変そうなのでやめた。

ヘッダを英語化

cp 000420038.tsv 000420038_H.tsv
sed -i -e '1,1d' 000420038_H.tsv
sed -i 1s/^/"$(echo -e "G1\tG2\tG3\tG4\tName")"'\n'/ 000420038_H.tsv

before

大分類コード    中分類コード  小分類コード  細分類コード  項目名

after

G1    G2  G3  G4  Name

 さもなくば以下エラーになる。

$ q -H -t "select * from 000420038.tsv while '大分類コード'='A' and '中分類コード'='1' and '小分類コード'='10'" 
query error: near "'大分類コード'": syntax error

qで参照する

q -H -t "select * from 000420038_H.tsv"
q -H -t "select * from 000420038_H.tsv where G1='A' and G2='1' and G3='10';"
$ q -H -t "select * from 000420038_H.tsv where G1='A' and G2='1' and G3='10';"
A   1  10 0  管理,補助的経済活動を行う事業所(01農業)
A   1  10 100    主として管理事務を行う本社等
A   1  10 109    その他の管理,補助的経済活動を行う事業所

 OK!

対象環境

  • 2019-03-16
  • Raspbierry pi 3 Model B+
  • Raspbian stretch 9.0 2018-11-13
  • bash 4.4.12
$ uname -a
Linux raspberrypi 4.14.98-v7+ #1200 SMP Tue Feb 12 20:27:48 GMT 2019 armv7l GNU/Linux