zip2adr
今年もやってくる年賀状の季節
住所録管理を簡単に!
郵便番号のリストから、郵便番号簿を検索し、csv形式の住所の一覧を出力するプログラムです.
ここ数年の平成の大合併により、多くの市町村の住所が変わってしまいました.また,市町村合併以外でも,政令指定都市に以降すると,区の単位で,住所が変わってしまいます.
日常生活には、特に影響はなかったのですが、年に1度の行事である年賀状作成時に、非常に大きな打撃を与えました.そうです.多くの住所が変更されてしまったのです.
そこで,これまでの住所を整理して新しい住所に更新するために、郵便番号から新しい住所を探し出し,その一覧表を生成するプログラムを作成してみました.
以下のような郵便番号のリストから,郵政公社から入手した郵便番号簿を検索し,csv形式の住所の一覧を出力します.
==================================
入力データ
==================================
0900836
9860124
3240502
3420027
2700175
==================================
出力データ
==================================
0900836,北海道,北見市,三輪
9860124,宮城県,石巻市,三輪田
3240502,栃木県,那須郡那珂川町,三輪
3420027,埼玉県,吉川市,三輪野江
2700175,千葉県,流山市,三輪野山
準備するもの
cygwinの環境
Windowsにcygwinをインストールした環境を準備してください。
標準的なcygwinの環境にdevel rubyを追加インストールしてください.
cygwinのインストール方法が判らない方は、以下のページを参考にしてください。
http://musashi.sourceforge.jp/cygwin/cygwin.html
郵便番号簿
以下の郵政公社のホームページより,最新の郵便番号簿の「小書き」形式のデータで全国一括のファイルを入手してください.
http://www.post.japanpost.jp/zipcode/download.html
郵政公社の郵便番号簿のページ
http://www.post.japanpost.jp/zipcode/dl/kogaki.html
読み仮名データの促音・拗音を小書きで表記するもの 例:ホッカイドウ)
このデータはLZH形式で,圧縮されているので,適切なツールを使って展開すると,KEN_ALL.CSVという大きなファイルが取り出せます.
使い方
まず,以下のソースリストを適切なディレクトリにダウンロードしてください.
zip2adr.rb
サンプルデータ
ziplist.txt(サンプル郵便番号25件分)
bldg.txt(ビルの郵便番号)
実行方法
cygwinのコンソールを開き,以下のようにして実行してください.
ruby zip2adr.rb ziplist.txt KEN_ALL.CSV |
0900836,北海道,北見市,三輪 |
9860124,宮城県,石巻市,三輪田 |
3240502,栃木県,那須郡那珂川町,三輪 |
3420027,埼玉県,吉川市,三輪野江 |
2700175,千葉県,流山市,三輪野山 |
1950054,東京都,町田市,三輪町 |
1950055,東京都,町田市,三輪緑山 |
3800803,長野県,長野市,三輪 |
3800816,長野県,長野市,三輪田町 |
5012513,岐阜県,岐阜市,三輪 |
5012514,岐阜県,岐阜市,三輪宮前 |
5012515,岐阜県,岐阜市,三輪宮西 |
5012517,岐阜県,岐阜市,三輪ぷりんとぴあ |
5010619,岐阜県,揖斐郡揖斐川町,三輪 |
4211132,静岡県,志太郡岡部町,三輪 |
4490216,愛知県,北設楽郡東栄町,三輪 |
6691513,兵庫県,三田市,三輪 |
6330001,奈良県,桜井市,三輪 |
6360324,奈良県,磯城郡田原本町,三輪町 |
6470061,和歌山県,新宮市,三輪崎 |
7191132,岡山県,総社市,三輪 |
7430102,山口県,光市,三輪 |
8820885,宮崎県,延岡市,上三輪町 |
8820883,宮崎県,延岡市,下三輪町 |
8820884,宮崎県,延岡市,中三輪町 |
上記の方法は,検索結果を表示するだけです.検索結果をファイルに保存するには,以下のようにリダイレクトを利用し,ファイル名を指定して,直接書き込むようにしてください.
以下の場合も試してみてください.
ソート
以下のようにして実行すると,郵便番号が小さな順に並べ替えられます.
処理速度
100件のデータを,2.00GHzのマシン上WindowsXP+Cygwinの環境下で実行した結果
処理時間4m14.562s
4*60+14.562/100=2.55秒
1000件では約40分,10000件では約6時間40分なので,少し,遅く感じるかも知れません.しかし,バッチ処理により一括変換できるので,コンピュータの空き時間を利用して変換すればよいでしょう.
事業所の個別郵便番号用変換プログラム
事業所の個別郵便番号は,一般の郵便番号とはデータ形式が異なるので,上記で紹介したプログラムでは変換できません.
そこで,zip2adr4biz.rbを作成しました.
以下のリンクより,
応用編
出力されたcsv形式のデータは,OpenOfficeで読み込みが可能です.
これに,番地と名前を追加すれば,最新の住所録が完成です。
このデータを元に、参考文献1のオープンガイドブック OpenOffice.org 2.0のP226の「はがき印刷と宛名ラベルを作る」に書かれている手順に従って作業を行うと、高価な宛名書きソフトを購入しなくても、無料で年賀状の宛名印刷ができます。
参考文献
- オープンガイドブックOpenOffice.org 3 (DVD付)
- 鎌滝 雅久 (著), あわしろ いくや (著), 松宮 哲 (著), 松井 幹彦 (著), 株式会社グッデイ 榎 真治 (著, 監修), 中本 崇志 (著, 監修)
- 出版社:翔泳社 (2009/3/20)
- ISBN-10: 4798119423
- 超カンタン!OpenOffice3―〈世界標準〉高機能総合オフィスソフト…主要3ソフトの使い方! (I/O別冊)
- 松本 美保 (著), 第二I/O編集部 (編纂)
- 出版社: 工学社 (2009/04)
- ISBN-10: 4777501140
- はじめてのOpenOffice3―ワープロ・表計算・プレゼン・データベース・図形描画統合ソフトを使いこなす! (I・ BOOKS)
- 松本 美保 (著), 第二I O編集部 (編集)
- 出版社: 工学社 (2009/02)
- ISBN-10: 4777514226
- 今さら人に聞けないOpenOffice3の常識 writer編―初心者がつまづくワープロの盲点を現役インストラクターが伝授! (I/O BOOKS)
- 松本 美保 (著)
- 出版社: 工学社 (2008/11)
- ISBN-10: 4777514048
- 今さら人に聞けないOpenOffice3の常識 calc編 (I・O BOOKS)
- 松本 美保 (著)
- 出版社: 工学社 (2008/11)
- ISBN-10: 477751403X
おまけ
これで、住所録はできたと思いますが、年賀状のデザインは決まりましたか?
お悩みの方はこちらへ −−−> 年賀状の見本集