新郵便番号表 newzip.lzh 簡易説明書 Seiji Fujita http://userweb.alles.or.jp/sfujita/ --------------------------------------------------------------------------- 郵政省のWebサイト You Net (http://www.postal.mpt.go.jp/) から入手できる 新郵便番号データ KEN_ALL.CSV から不要データを削除して、ファイルサイズを コンパクトにするためのスクリプト おまけとして「事業所の個別郵便番号最新全データ」JIGYOSYO.CSVをコンパクト化 するスクリプトも含めてあります。その説明は§4を参照のこと。 1.具体的な説明  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ KEN_ALL.ZIPを展開して得られる KEN_ALL.CSV は以下の書式を持ったデータです。 データの1行の形式 (1) (2) (3) (4) 〜 (7) (8) (9) (10)〜(15) 06201,"990 ","9900864","ヤマガタケン" 〜省略〜 "山形市","陣陽",0,1,1,0,0,0 ※(1)〜(15)の意味は、この解説末尾のデータ情報を参照してください。 ※ヨミガナ部(4)〜(6)は、拗音のある版・ない版の2種類があります。 ※(2)部分は、データの提供の度に、空白を含む場合と(例:"990")と含まない場合  (例:"990 ")とがあります。 このうち、多くの人にとって(10)〜(15)は不要なデータでしょうし、(4)〜(6)の ヨミガナも人によっては不要なデータだと思われます。 また、CSVデータはMS Excel、Lotus 1-2-3などのスプレッドシートに読み込ませる 場合などでは有効な形式ですが、人がそのまま読む場合には見やすい形式ではあり ません。 無駄なデータを棄てる事で、ファイルサイズを削減でき、読みやすさも向上させら れます。  ファイルサイズ比較例:   KEN_ALL.CSV (99-02-01版)… 11,930,677 bytes (11.4 MB) 100 %   zip_exp3.sed 処理後 ……… 5,246,334 bytes ( 5.0 MB) 44 %   zip_exp4.sed 処理後 ……… 8,225,702 bytes ( 7.8 MB) 69 %   zip_exp5.sed 処理後 ……… 5,006,804 bytes ( 4.8 MB) 42 %   zip_exp6.sed 処理後 ……… 7,746,642 bytes ( 7.4 MB) 65 % zip-exp3.sedは、上記形式のデータから(10)〜(15)部分とヨミガナを除去して、 地名データを連結し、カンマと二重引用符を除去するためのスクリプト、 zip-exp4.sedは、上記形式のデータから(10)〜(15)部分を除去し、カンマと二重引 用符を除去するためのスクリプトです。 zip-exp5.sedは、zip-exp3.sedの地名データ間の空白を除去した版です。 zip-exp6.sedは、zip-exp4.sedの地名データとヨミガナの間の空白を除去した版です。 zip-exp3.sedで変換した結果の形式((2)と「→」の間は実際は水平タブです) (2) → (3) (7) (8) (9) 990 → 990-0864 山形県 山形市 陣場 zip-exp4.sedで変換した結果の形式((2)と「→」の間は実際は水平タブです) (2) (3) (7) (8) (9) (4) (5) (6) 990 → 990-0864 山形県 山形市 陣場 ヤマガタケン ヤマガタシ ジンバ zip-exp5.sedで変換した結果の形式((2)と「→」の間は実際は水平タブです) (2) → (3) (7) 〜 (9) 990 → 990-0864 山形県山形市陣場 zip-exp6.sedで変換した結果の形式((2)と「→」の間は実際は水平タブです) (2) (3) (7) 〜 (9) (4)〜(6) 990 → 990-0864 山形県山形市陣場 ヤマガタケンヤマガタシジンバ 2.データの意味  ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ (1) 全国地方公共団体コード; 5桁 ←いわゆる都市コードです。 (2) 現郵便番号; 5桁 (3) 新郵便番号; 7桁 (4) 都道府県名; 半角カタカナ ; JISコード順 (5) 市区町村名; 半角カタカナ ; JISコード順 (6) 町域名; 半角カタカナ (拗音なし) ; 五十音順 (7) 都道府県名; 漢字; JISコード順 (8) 市区町村名; 漢字; JISコード順 (9) 町域名; 漢字; 五十音順 (10) 一町域が二以上の新郵便番号で表される場合の表示 (該当=1; 非該当=0) (11) 小字毎に番地が起番されている町域の表示 (該当=1; 非該当=0) (12) 丁目を有する町域の場合の表示 (該当=1; 非該当=0) (13) 一つの新郵便番号で二以上の町域を表す場合の表示 (該当=1; 非該当=0) (14) 更新の表示 (未変更=0; 新規追加=1; 変更=2) (15) 変更理由 (変更なし=0; 市政・区政・町政・分区・政令指定都市施行=1; 住居表示の実施=2; 区画整理=3; 郵便区調整、集配局新設=4; 訂正=5; 廃止(廃止データのみ使用)=6 ) (16) 一町域が二以上の新郵便番号で表される場合の表示 (該当=1; 非該当=0) データ(10)〜(13)に関する部分が何のためにあるのか良く分かりません。一般の 人には用の無いデータに感じられます(郵政省がデータを管理する際にだけ必要 な気がします)。 3.使用方法  ̄ ̄ ̄ ̄ ̄ ̄ 元のファイルが ORIGINAL.CSV、生成するテキストデータが NEWZIP.TXT である場合  sed -f zip_exp?.sed ORIGINAL.CSV > NEWZIP.TXT  ※ ?部分は 3〜6のいずれかで読み替えて下さい の操作によって、不要データの除去された新郵便番号データを作る事ができます。 DOSあるいはWindows95に添付されているsortコマンドで郵便番号順に並べておくと より使いやすくなると思います。  並べ替え方  sort NEWZIP.TXT > SORTZIP.TXT なおzip_exp3.sed〜zip_exp6.sedは、標準的なコマンドだけを使用していますから、 多分どの版のsedでも使えるはずです(もちろん変換対象のKEN_ALL.CSVが日本語 データであるため、日本語対応sedである事は必要だと思いますが)。 4.おまけ  ̄ ̄ ̄ ̄ ̄ zip-jig.sedの簡易説明 JIGYOSYO.CSVの以下のような形式データ 01101,"(カブ) ホツカイドウニジユウイツセイキソウゴウケンキユウジヨ","(株) 北海道二十一世紀総合研究所","北海道","札幌市中央区","南二条西","5丁目10番2号南2西5ビル","0608640","060","札幌中央",0,0,1 を、 060-8640 北海道札幌市中央区南二条西 (株) 北海道二十一世紀総合研究所 の形式に変換するためのsedスクリプトです。 この操作によるファイルサイズの変化は以下の通りです。  JIGYOSYO.CSV (99-02-01版) … 2,770,152 bytes (2.6 MB) 100 %  zip-jig.sed 変換後 ………… 1,107,752 bytes (1.1 MB) 40 % 変換の方法は、§3を参考にして下さい。