住所データの処理-2
昨日の記事で、リンクしたのは、株式会社アイビスさんの郵便番号データ配信サービス「zipcloud」のサイトです。
データの加工が必要な内容を詳しく記載してくださっているので、参考にしながら、作業を進めました。
・町域名が「以下に掲載がない場合」の場合は、ブランク(空文字)に置換
→住所入力用のデータとしては不要なので、削除で対処しました。
"DELETE M_住所.* FROM M_住所 WHERE M_住所.[町域]='以下に掲載がない場合';"
・町域名が「○○市(または町・村)の次に番地がくる場合」の場合は、ブランク(空文字)に置換
→その通り、対処しました。
"UPDATE M_住所 SET M_住所.町域 = '' WHERE M_住所.[町域] Like '*の次に番地がくる場合';"
・町域名が「○○市(または町・村)一円」の場合は、ブランク(空文字)に置換
※ただし「一円」が地名である場合は置換しません。
→但し書きで悩みましたが、データを確認したら、1件しかなかったので、
"UPDATE M_住所 SET M_住所.[町域] = '' WHERE M_住所.[町域] Like '*一円' AND M_住所.[町域]<>'一円';"
で対処しました。
・町域名で、丸括弧で囲まれている部分を除去
※町域名の文字数が多いために複数行に分割されてしまっている場合は、1行にマージしておいてから丸括弧を除去します。
※括弧内の文字が「地名」や「ビルの階」など、住所として使えそうなものは町域名の末尾に追加します。
※括弧内に地名が複数列挙されている場合は複数行に分割します。
→このあたりから、手に負えなくなりました。
郵便番号辞書を作るのが目的ではないので、マージはせず、()内は()も含めて削除することにしました。
ここから先は、自分用の変更ですが、
市と区の分離
郡データーの削除を含めて、処理しました。
最後に”)”を含むデーターを削除して、完了です。
"DELETE M_住所.* FROM M_住所 WHERE M_住所.[町域] Like '*)';"
町域のデータは、単一化できていませんが、DISTINCTかGROUP BYを使うことで対処する予定です。
埼玉県の川越市近辺の住所だけを入力するのには、郵便番号データからの入力で事足りていたのですが、全国の住所を考えると、住所の表記の仕方(分類?)がまちまちで、結構難しいです。
まだ、処理を追加するかもしれません。
« 住所データの処理 | トップページ | 携帯の電源が切れていました。 »
「VB.net 業務管理」カテゴリの記事
- Accessフォームで住所→郵便番号変換(2016.06.05)
- 郵便番号は入りませんでした。(2016.05.30)
- 住所→郵便番号変換(2016.05.24)
- BlueTooth USBアダプタ その後(2016.02.12)
- VBAに戻ります。(2015.05.03)
「郵便番号データの住所入力データ化」カテゴリの記事
- 郵便番号データの住所入力データ化取り止め(2016.06.27)
- マージ済みデータで一部欠落と勘違いしました(2016.06.26)
- 改めて「**一円」を検証(2016.06.24)
- **の次に番地がくる場合の扱い(2016.06.23)
- ビルデータの扱い変更(2016.06.22)
コメント