Help us understand the problem. What is going on with this article?

KEN_ALL.CSV から郵便番号データを手軽に作る

More than 1 year has passed since last update.

やっかいな KEN_ALL.CSVと JIGYOSYO.CSV を使って郵便番号データを手軽に作る方法です。

ken-all コマンドのインストール

郵便番号データを加工するコマンドをインストール

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

(go が入ってない場合は、brew install goしておく)

データ生成

下記コマンドの実行すると、KEN_ALL.CSV とJIGYOSYO.CSV がダウンロードされ、1つの郵便番号データが生成されます。

$ cd $GOPATH/src/github.com/inouet/ken-all

$ ./script/make-zip -o /tmp/ken-all.tsv

# 確認

$ head -n 2 /tmp/ken-all.tsv
0600000 1   北海道   札幌市中央区              10
0640941 1   北海道   札幌市中央区  旭ケ丘           10

テーブル作成

mysqlの場合

$ mysql -u user -p db_name < example/zip_code.mysql.sql

sqliteの場合

$ sqlite3 zip.db <  example/zip_code.sqlite.sql

データのインポート

mysqlの場合

mysql> load data infile '/tmp/ken-all.tsv' into table zip_code;

sqliteの場合

$ sqlite3 zip.db
sqlite> .separator "\t"
sqlite> .import /tmp/ken-all.tsv zip_code

確認

mysqlの場合

mysql> select * from zip_code where zip_code in ('1066118', '1008792');
+----------+----------+-----------+--------------+----------------------------------------------+--------+---------------------------+-------------+
| zip_code | zip_type | pref      | city         | town                                         | street | name                      | update_code |
+----------+----------+-----------+--------------+----------------------------------------------+--------+---------------------------+-------------+
| 1066118  |        1 | 東京都    | 港区         | 六本木六本木ヒルズ森タワー18階               |        |                           |          10 |
| 1008792  |        2 | 東京都    | 千代田区     | 大手町                                       | 2-3-1  | 日本郵便 株式会社         |          20 |
+----------+----------+-----------+--------------+----------------------------------------------+--------+---------------------------+-------------+

sqliteの場合

sqlite> .mode column
sqlite> select * from zip_code where zip_code in ('1066118', '1008792');

zip_code    zip_type    pref        city        town              street      name        update_code
----------  ----------  ----------  ----------  ----------------  ----------  ----------  -----------
1066118     1           東京都         港区          六本木六本木ヒルズ森タワー18階                          10
1008792     2           東京都         千代田区        大手町               2-3-1       日本郵便 株式会社   20

おしまい。

mercari
フリマアプリ「メルカリ」を、グローバルで開発しています。
https://tech.mercari.com/
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした