狐の王国


2006年09月22日(金) [過去の今日]

#2 郵便番号データをDBに突っ込んでみた

ちょっと作業中にダミーデータが欲しくなって、 郵政公社の郵便番号データ をPostgreSQLに突っ込んでみたのでメモ。

$ echo 'create table zipcode(id SERIAL PRIMARY KEY,
                             jisx040x VARCHAR,
                             oldzip VARCHAR,
                             zipcode VARCHAR,
                             prefecture_pro VARCHAR,
                             city_pro VARCHAR,
                             town_pro VARCHAR,
                             prefecture VARCHAR,
                             city VARCHAR,
                             town VARCHAR,
                             dupli smallint,
                             subdivide smallint,
                             numdivide smallint,
                             unit smallint,
                             renew smallint,
                             reason smallint);' | psql
$ nkf --unix <ken_all.csv |\
  perl -e 'while(<>){ chomp; @line = split(/,/, $_);
                      printf("INSERT INTO zipcode VALUES(DEFAULT,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s,%s);\n",
                      $line[0],$line[1], $line[2], $line[3],
                      $line[4],$line[5], $line[6], $line[7],
                      $line[8], $line[9],$line[10], $line[11],
                      $line[12], $line[13], $line[14]);}' |\
  sed -e s/\"/\'/g | psql
$ echo "select zipcode,town from zipcode where city = 'さいたま市大宮区';" | psql
 zipcode |         town
---------+----------------------
 3300800 | 以下に掲載がない場合
 3300841 | 東町
 3300834 | 天沼町
 3300852 | 大成町
 3300836 | 大原
 3300855 | 上小町
 3300843 | 吉敷町
 3300835 | 北袋町
 3300851 | 櫛引町
 3300854 | 桜木町
 3300844 | 下町
 3300805 | 寿能町
 3300842 | 浅間町
 3300846 | 大門町
 3300803 | 高鼻町
 3300801 | 土手町
 3300845 | 仲町
 3300853 | 錦町
 3300804 | 堀の内町
 3300856 | 三橋
 3300802 | 宮町
(21 rows)

うむ、OK。本来booleanであるべき箇所もあるが、けっこうどうでもいいデータだし、クォートしないとboolean表現にならないとかめんどいのでsmallint。

(@877)

この記事のURI

最近の記事

以上、1 日分

タイトル一覧


カテゴリ分類
Powered by hns-2.19.8, HyperNikkiSystem Project

過去にこの日記が置いてあったcgi.misao.gr.jpは廃止されました。それによって記事へのURIが変わってしまっています。cgi.misao.gr.jpをwww.misao.gr.jpと置き換えるだけで同じ記事にアクセスできるはずです。

Sugano "狐志庵" Yoshihisa(E) @ 美紗緒ネットワーク <koshian@misao.gr.jp>
日記管理ページ