きっかけ
日本郵便の郵便番号データダウンロードサービスを見つけたので、早速「住所の郵便番号(CSV形式)」の、「読み仮名データの促音・拗音を小書きで表記するもの」をダウンロードしてみた。(全県分)
テキストエディタで検索することもできますが、簡単に検索できるよう AppleScript で作ってみました。
ネットが利用できない環境でも利用できるのも良いです。 また、
読みが登録されているので、地名の読み方も分かりますね。
ファイルの形式
ダウンロードしたデータの詳細は、郵便番号データの説明に掲載されていますが、ポイントは、
・文字コードが Shift-JIS
・改行コードが CR
なのでした。
Macで使用するので、それぞれ UTF-8、LF に変換しておきます。
項目の詳細は、
- 全国地方公共団体コード(JIS X0401、X0402)……… 半角数字
- (旧)郵便番号(5桁)……………………………………… 半角数字
- 郵便番号(7桁)……………………………………… 半角数字
- 都道府県名 ………… 半角カタカナ(コード順に掲載) (注1)
- 市区町村名 ………… 半角カタカナ(コード順に掲載) (注1)
- 町域名 ……………… 半角カタカナ(五十音順に掲載) (注1)
- 都道府県名 ………… 漢字(コード順に掲載) (注1,2)
- 市区町村名 ………… 漢字(コード順に掲載) (注1,2)
- 町域名 ……………… 漢字(五十音順に掲載) (注1,2)
- 一町域が二以上の郵便番号で表される場合の表示 (注3) (「1」は該当、「0」は該当せず)
- 小字毎に番地が起番されている町域の表示 (注4) (「1」は該当、「0」は該当せず)
- 丁目を有する町域の場合の表示 (「1」は該当、「0」は該当せず)
- 一つの郵便番号で二以上の町域を表す場合の表示 (注5) (「1」は該当、「0」は該当せず)
- 更新の表示(注6)(「0」は変更なし、「1」は変更あり、「2」廃止(廃止データのみ使用))
- 変更理由 (「0」は変更なし、「1」市政・区政・町政・分区・政令指定都市施行、「2」住居表示の実施、「3」区画整理、「4」郵便区調整等、「5」訂正、「6」廃止(廃止データのみ使用))
ソースコード
AppleScript のコードです。
検索結果は複数の行がヒットすることがあるため「テキストエディット」を起動して、そこに表示するようにしています。(コメントアウトしている Display dialog を使っても良いでしょう)
--
-- 郵便番号の検索をします。(正規表現が使用できます)
-- ダウンロードした CSV ファイル(KEN_ALL.CSV)は、
-- 文字コードが shift JIS 、改行コードが CR なので
-- 文字コードを UTF-8 に、改行コードを UTF-8 に変換し、
-- アプリとして保存したフォルダーの直下に置いて使用します。
--
-- set filePath to "/Users/<YOUSER ID>/Downloads/KEN_ALL.CSV"
set pathToMe to path to me
set path2me to POSIX path of pathToMe
set filePath to path2me & "KEN_ALL.CSV"
display dialog "検索文字/郵便番号を入力" default answer ""
set q to text returned of result
if q = "" then return
set cmd to "grep " & q & " " & filePath
set rslt to do shell script cmd
-- display dialog rslt
tell application "TextEdit"
activate
make new document at beginning of documents
set text of front document to rslt
end tell
利用する前に
このスクリプトをスクリプトエディタで開いて、アプリケーションとして保存して、
そのアプリケーションを右クリックして「パッケージの内容を表示」して開いたところ(アプリの直下)に
郵便番号データダウンロードサービスからダウンロードして、文字コード、改行コードを変換したファイル(KEN_ALL.CSV)を置いて
から、アプリケーションとして利用します。
あるいは、スクリプトの冒頭のコメントアウトしている
set filePath to "/Users/<YOUSER ID>/Downloads/KEN_ALL.CSV"
を使って、直接ファイルパスを指定するようにしても良いでしょう。その場合はその下の3行をコメントアウトします。
使用方法
起動すると検索文字を入力するダイアログが出てきますので、
・郵便番号から住所を検索するなら郵便番号を
・住所から郵便番号を検索するなら住所を
入力します。
住所を入れるときは、都道府県名、市区町村名など別れたデータなので、正規表現を使います。例えば「東京.*銀座」のようにすると
「13102,"104 ","1040061","トウキョウト","チュウオウク","ギンザ","東京都","中央区","銀座",0,0,1,0,0,0」
が見つかります。(「.*」は任意の文字列)