ken-all

command module
v0.0.3 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 26, 2020 License: MIT Imports: 1 Imported by: 0

README

概要

日本郵便の提供する郵便番号データ(通称KEN_ALL.CSV)をパースし、使いやすい形に変換します。 主に以下のような処理を行います。

  • 複数行に分割された行を結合します
  • SHIFT_JIS を UTF-8に変換します
  • 半角カナを全角カナに変換します
  • 全角数字、記号を半角に変換します
  • データとして使いにくいレコードを加工します(加工処理詳細参照)
  • CSV形式をJSON形式、TSV形式に変換できます

インストール

$ go get github.com/inouet/ken-all

もしくは、Releases からダウンロード

コマンドの使い方

住所データをJSON形式に変換

$ ken-all address /tmp/KEN_ALL.CSV -t json

{"region_id":"01101","zip":"0600000","pref_kana":"ホッカイドウ","city_kana":"サッポロシチュウオウク","town_kana":"","pref":"北海道","city":"札幌市中央区","town":"","update_status":"0","update_reason":"0","pref_code":"01"}
 :

事業所データをJSON形式に変換

$ ken-all office /tmp/JIGYOSYO.CSV -t json

{"jis_code":"01101","kana":"(カブ) ニホンケイザイシンブンシヤ サツポロシシヤ","name":"株式会社 日本経済新聞社 札幌支社","pref":"北海道","city":"札幌市中央区","town":"北一条西","address":"6丁目1-2アーバンネット札幌ビル2F","zip7":"0608621","zip5":"060  ","post_office":"札幌中央","type":"0","is_multi":"0","update_status":"0","pref_code":"01"}
  :

詳しくは helpを参照ください

Usage:
  ken-all [flags]
  ken-all [command]

Available Commands:
  address     Convert KEN_ALL.CSV into other format.
  help        Help about any command
  office      Convert JIGYOSYO.CSV into other format.

Flags:
  -h, --help   help for ken-all

加工処理詳細

日本郵便の提供するCSVの特徴として、町域名が38文字を超える場合複数行に分かれています。 まずはこれを1行にした上で下記のような処理を行います。

町域名に特定の文字列が入る場合は空文字に変換します

  • 以下に掲載がない場合
  • ○○一円 (一円を除く)
  • ○○の次に番地がくる場合

加工前

郵便番号 都道府県名 市区町村名 町域名
0600000 北海道 札幌市中央区 以下に掲載がない場合
1000301 東京都 利島村 利島村一円
5220317 滋賀県 犬上郡多賀町 一円
3060433 茨城県 猿島郡境町 境町の次に番地がくる場合

加工後

郵便番号 都道府県名 市区町村名 町域名
0600000 北海道 札幌市中央区
1000301 東京都 利島村
5220317 滋賀県 犬上郡多賀町 一円
3060433 茨城県 猿島郡境町

町域名が X(A、B)の形式の場合、X、XA、XB の3行に展開します

ただし、括弧内の文字が地名以外と思われるものは削除しています

  • 「その他」、「地階・階層不明」、「全域」、「成田国際空港内」など特定のワードを含むもの
  • 「132〜156」、「367番地」 など番地と思われるもの

加工前

郵便番号 都道府県名 市区町村名 町域名
0893443 北海道 中川郡本別町 西美里別(113〜791番地、西活込、西上、西中)

加工後

郵便番号 都道府県名 市区町村名 町域名
0893443 北海道 中川郡本別町 西美里別
0893443 北海道 中川郡本別町 西美里別西活込
0893443 北海道 中川郡本別町 西美里別西上
0893443 北海道 中川郡本別町 西美里別西中

岩手県の地割表記は削除します

例: 「越中畑64地割〜越中畑66地割」は「越中畑」に変換します

加工前

郵便番号 都道府県名 市区町村名 町域名
0295523 岩手県 和賀郡西和賀町 越中畑64地割〜越中畑66地割

加工後

郵便番号 都道府県名 市区町村名 町域名
0295523 岩手県 和賀郡西和賀町 越中畑

参考

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL