1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

郵便番号を検索する AppleScript を作ったら地名の読みがわかって便利かも

Last updated at Posted at 2023-04-30

きっかけ

 日本郵便の郵便番号データダウンロードサービスを見つけたので、早速「住所の郵便番号(CSV形式)」の、「読み仮名データの促音・拗音を小書きで表記するもの」をダウンロードしてみた。(全県分)
テキストエディタで検索することもできますが、簡単に検索できるよう AppleScript で作ってみました。
ネットが利用できない環境でも利用できるのも良いです。 また、
読みが登録されているので、地名の読み方も分かりますね。

ファイルの形式

 ダウンロードしたデータの詳細は、郵便番号データの説明に掲載されていますが、ポイントは、
文字コードが Shift-JIS
改行コードが CR
なのでした。
Macで使用するので、それぞれ UTF-8、LF に変換しておきます。
項目の詳細は、

  1. 全国地方公共団体コード(JIS X0401、X0402)……… 半角数字
  2. (旧)郵便番号(5桁)……………………………………… 半角数字
  3. 郵便番号(7桁)……………………………………… 半角数字
  4. 都道府県名 ………… 半角カタカナ(コード順に掲載) (注1)
  5. 市区町村名 ………… 半角カタカナ(コード順に掲載) (注1)
  6. 町域名 ……………… 半角カタカナ(五十音順に掲載) (注1)
  7. 都道府県名 ………… 漢字(コード順に掲載) (注1,2)
  8. 市区町村名 ………… 漢字(コード順に掲載) (注1,2)
  9. 町域名 ……………… 漢字(五十音順に掲載) (注1,2)
  10. 一町域が二以上の郵便番号で表される場合の表示 (注3) (「1」は該当、「0」は該当せず)
  11. 小字毎に番地が起番されている町域の表示 (注4) (「1」は該当、「0」は該当せず)
  12. 丁目を有する町域の場合の表示 (「1」は該当、「0」は該当せず)
  13. 一つの郵便番号で二以上の町域を表す場合の表示 (注5) (「1」は該当、「0」は該当せず)
  14. 更新の表示(注6)(「0」は変更なし、「1」は変更あり、「2」廃止(廃止データのみ使用))
  15. 変更理由 (「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」
が見つかります。(「.*」は任意の文字列)

1
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?