15
11

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 5 years have passed since last update.

郵便番号から住所を取得できるgemを作りました

Posted at

日本郵便が公開している郵便番号データ(いわゆるken_all.csv)を取り込んで、郵便番号から住所情報を取得できるgemを作りました。住所入力フォームの補完に使えます。

jipcodeの特徴

  • 日本郵便の公式データから郵便番号・住所情報のデータを取得し、ローカルに保存
  • 事業所の個別郵便番号にも対応
  • 毎月最新のデータに更新(毎月月初に自動化の予定)

インストール方法

アプリケーションで使う場合、Gemfileに次の行を追加してbundle installしてください。

gem 'jipcode'

あるいは、次のように手元にインストールしてください。

$ gem install jipcode

郵便番号から住所情報を取得する方法

require 'jipcode'でjipcodeを適宜読み込んでください。
Jipcodeモジュールの.locate関数に郵便番号の文字列を渡すと、住所情報のHashを要素とする配列が返ります。
なぜ配列かというと、郵便番号は1個の番号につき複数の住所が結びつくことがあるためです。

住所情報のHashは郵便番号(:zipcode)、都道府県(:prefecture)、市区町村(:city)、町域番地(:town)のキー値を持ちます。

Jipcode.locate('1510051')
# => [{zipcode: '1510051', prefecture: '東京都', city: '渋谷区', town: '千駄ヶ谷'}]

# 該当する住所がない場合
Jipcode.locate('hoge')
# => []

jipcodeの主な機能はこれだけで、後はデータとデータ更新のためのコードがリポジトリに含まれています。
そのため仕様を理解したい場合は./lib/jipcode.rbJipcode.locateを読むだけで良いかと思います。

15
11
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
15
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?