全国の町丁目レベル(189,540件)の住所データのオープンデータをPython Pandasで処理してみた

 

{{DZ_TITLE}}
今、話題になっている、189,540件の全国の町丁目レベルのオープンデータを扱ってみました。

今回のデータは

CSVで提供されたデータ住所データで『都道府県』『市区町村』『大字町丁目』レベルで管理された189,540件のデータです。
以下のgitにて管理されているデータで、『国土交通省位置参照情報ダウンロードサイト』『郵便番号データダウンロード - 日本郵便』を出典として作られているようです。
https://github.com/geolonia/japanese-addresses

プログラム

import pandas as pd

class AddressList():

    def __init__(self,filepath = 'latest.txt'):
        self.df = pd.read_csv(filepath,encoding='utf8')

    def filter_df(self,address):
        val1 = ''
        val2 = ''
        val3 = ''
        
        delm1 = '都道府県'
        for delm1val in delm1:
            ary = address.split(delm1val)
            if len(ary) >1 :
                val1 = ary[0]+delm1val
                address = address.replace(val1,'')
                break

        delm2 = '市区町村'
        for delm2val in delm2:
            ary = address.split(delm2val)
            if len(ary) >1 :
                val2 = ary[0]+delm2val
                address = address.replace(val2,'')
                val3 = address
                break
        return self.df[(self.df['都道府県名']==val1) & 
                       (self.df['市区町村名']==val2) &
                       (self.df['大字町丁目名']).str.startswith(val3)]

使い方

filepath = r'D:\Data\latest.txt'
address_list = AddressList(filepath)

address = '東京都港区芝公園'
address_list.filter_df(address)

結果

/img/2020-09-22-002/2020-09-22-002-001.jpg

注意事項

今回のプログラムを読んでもらうとわかりますが、かなりラフに作りました。

  • 都道府県の省略不可
  • 丁目等のあいまい検索対応できていない
  • 番地やアパート名、会社名を入力してしまうとおかしくなる。

ただ、Web Serviceなどで。選択式でGeolocationを取得したい場合。丁度良い選択肢かもしれません。

おすすめ記事

オープンデータで航空写真や標高データをPythonで作る方法
オープンデータで航空写真や標高データをPythonで作る方法
みちびき 高精度 L1S対応、Sony spresenseは買いなのか?
みちびき 高精度 L1S対応、Sony spresenseは買いなのか?
Django エラー 『NoReverseMatch at … ‘…’ is not a registered namespace』 対策
Django エラー 『NoReverseMatch at … ‘…’ is not a registered namespace』 対策
JSONの書込み、読込 等 - Python徹底解説
JSONの書込み、読込 等 - Python徹底解説
Omni chat google extension 作成しました
Omni chat google extension 作成しました
プログラムは独学が良いか、スクールが良いか?【無償カウンセリング、無料体験あり】
プログラムは独学が良いか、スクールが良いか?【無償カウンセリング、無料体験あり】
Supponsered

外部サイト
↓プログラムを学んでみたい場合、学習コースなどもおすすめです!

Comments

comments powered by Disqus