0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

日本郵便の郵便番号CSVを加工して使いやすくする方法

0
Posted at

今回は、日本郵政で提供されているCSVはシステムだと使いにくいので、システムで利用しやすいように加工する手順を紹介します。

日本郵政:日本郵便 – 郵便番号データダウンロード

日本郵政の郵便番号CSVの加工する方法

日本郵政が公開している郵便番号CSVをシステム等で使いやすくする方法を紹介します。

日本郵政から郵便番号CSVをダウンロード

image.png

Excelで郵便番号CSVを取込・加工

先ほどダウンロードした全国一括のZIPファイルを解凍します。そして中に入っている「KEN_ALL.CSV」をExcelで読み込んで編集していきます。

郵便番号CSVをExcelへ読み込む

image.png

  • Excelを起動して新しいブックを開いて 空のブック をクリックする

image.png

  • [データ] → [データの取得] → [ファイルから] → [テキストまたはCSVから] を順に選択
  • 日本郵政からダウンロードした「KEN_ALL.CSV」をインポート

image.png

  • 画面下部にある [データの変換] ボタンをクリック
  • データの変換を行うと、以下のような画面が表示される

image.png

郵便番号列をテキストデータへ変換

image.png

  • 郵便番号の列を全部選択してから[変換]→[データ型:整数]→[テキスト]を選択
  • 郵便番号の列をテキストデータへ変換

image.png

  • 表示されたダイアログで[現在のものを置換]をクリック

image.png

不要な列を除く

image.png

  • 不要な列を[ctrl]キーを押しながら複数の列を選択して
  • 右クリックして[列の削除]を選択
  • 不要な列を削除

※今回はcolumn3、column7、column8、column9のみを残す

image.png

UTF-8でCSVを作成

image.png

  • [ファイル]→[閉じて読み込む]を選択して
  • CSVデータをExcelへ読み込む

image.png

  • するとExcelの画面へ編集したCSVデータが読み込む

image.png

  • [ファイル] → [名前を付けて保存] → [CSV UTF-8(カンマ区切り)]で保存してCSVファイルを作成

ここではファイル名を「zip.csv」とする

image.png

するとダイアログで「選択したファイルの種類は複数のシートを含むブックをサポートしません。」と言われるのでOKボタンをクリックします。

すると所定の場所にCSVファイル(zip.csv)が作成されます。

テキストエディタで郵便番号CSVを編集

次にExcelを使って作成した郵便番号CSVをテキストエディタを使って編集します。
(今回はサクラエディタを使用します)

テキストエディタで郵便番号CSVを表示

image.png

不要な「以下に掲載がない場合」文字列を置換して除去

image.png

手順
  • テキストエディタのカーソルを先頭へ移動
  • [ ctrlキー ]と[ rキー ]([ 検索 ]→[ 置換 ])で置換ダイアログを表示
  • ダイアログの置換前に「以下に掲載がない場合」と入力
  • 置換後は空欄のまま
  • [すべて置換]ボタンをクリック

0600000,北海道,札幌市中央区,以下に掲載がない場合

↓(以下の様にする)

0600000,北海道,札幌市中央区,

不要な「の次に番地がくる場合」文字列を検索して除去

image.png

手順
  • まずテキストエディタのカーソルを先頭へ移動
  • [ ctrlキー ]と[ fキー ]([ 検索 ]→[ 検索 ])で検索ダイアログを表示
  • ダイアログの条件に「の次に番地がくる場合」と入力
  • [下検索]ボタンをクリック

そして見つかった「***の次に番地がくる場合」を削除します。
(***は、何かしらの文字を意味)

3060433,茨城県,猿島郡境町,境町の次に番地がくる場合

↓(以下の様にする)

3060433,茨城県,猿島郡境町,

不要な「(*****)」文字列を置換して除去

image.png

手順
  • まずテキストエディタのカーソルを先頭へ移動
  • [ ctrlキー ]と[ rキー ]([ 検索 ] → [ 置換 ])で置換ダイアログを表示
  • ダイアログの置換前に「(.+?)」と入力
  • 置換後は空欄のまま
  • 「正規表現」へチェックを入れる
  • [ すべて置換 ]ボタンをクリック

0600042,北海道,札幌市中央区,大通西(1~19丁目)

↓(以下の様にする)

0600042,北海道,札幌市中央区,大通西(1~19丁目)

不要な複数行にまたがった行を検索して除去

image.png

手順
  • まずテキストエディタのカーソルを先頭へ移動
  • [ctrlキー]と[fキー]([検索]→[検索])で検索ダイアログを表示
  • ダイアログの条件に「(」と入力
  • 「下検索」ボタンをクリック

0660005,北海道,千歳市,協和(88-2、271-10、343-2、404-1、427-
0660005,北海道,千歳市,3、431-12、443-6、608-2、641-8、814、842-
0660005,北海道,千歳市,5、1137-3、1392、1657、1752番地)

↓(以下の様にする)

0660005,北海道,千歳市,協和

複数行にまたがったカッコのデータを削除して1行にしていきます。
(こんな使いにくいデータ構造、誰が使うんだか。。。。)

日本郵政の郵便番号CSVが使いにくい点

郵便番号を使ったシステムは世の中に多いですが、参照元にする日本郵政の郵便番号CSVが使い物になりません。

ここではどういった点が使いにくいのか紹介します。より詳しい内容は「郵便番号から住所を検索するサービスにまともなものがない」で解説されています。

注略コメントのような文字列が混ざっている
CSVデータの中に、「以下に掲載がない場合」や「***の次に番地がくる場合」などの注略コメントのような文字がCSVに混ざっています。

0600000,北海道,札幌市中央区,以下に掲載がない場合
3060433,茨城県,猿島郡境町,境町の次に番地がくる場合

また()で括られた注略コメントの

9800021,宮城県,仙台市青葉区,中央(次のビルを除く)
0600042,北海道,札幌市中央区,大通西(1~19丁目)
8961412,鹿児島県,薩摩川内市,下甑町瀬々野浦(1700番地~、内川内)
0285102,岩手県,岩手郡葛巻町,葛巻(第40地割「57番地125、176を除く」~第45地割)

などもあります。

複数行にまたがったデータ構造になっている
CSVデータが以下のような複数行にまたがった構造になっています。
(CSVのデータ構造がこんなことになっているのか。)

0660005,北海道,千歳市,協和(88-2、271-10、343-2、404-1、427-
0660005,北海道,千歳市,3、431-12、443-6、608-2、641-8、814、842-
0660005,北海道,千歳市,5、1137-3、1392、1657、1752番地)

これを手動で整形すると

0660005,北海道,千歳市,協和88-2番地
0660005,北海道,千歳市,協和271-10番地
0660005,北海道,千歳市,協和343-2番地
0660005,北海道,千歳市,協和404-1番地
0660005,北海道,千歳市,協和427-3番地
0660005,北海道,千歳市,協和431-12番地
0660005,北海道,千歳市,協和443-6番地
0660005,北海道,千歳市,協和608-2番地
0660005,北海道,千歳市,協和641-8番地
0660005,北海道,千歳市,協和814番地
0660005,北海道,千歳市,協和842-5番地
0660005,北海道,千歳市,協和1137-3番地
0660005,北海道,千歳市,協和1392番地
0660005,北海道,千歳市,協和1657番地
0660005,北海道,千歳市,協和1752番地

となります。

さいごに

今回は日本郵政が提供している郵便番号CSVデータを手動で整形する方法を紹介しました。

CSVデータを手作業で整形するとミスしやすいので、整形は自己責任で対応してください!一応zipcloudさんにて整形後のCSVが提供されているので、そちらをダウンロードすることも出来ます。

整形済み郵便番号CSVファイルのダウンロード

zipcloudで加工済みの郵便番号CSVをダウンロードすることもできます。またzipcloudでは郵便番号APIも用意されています。
参照ページ:郵便番号データのCSVファイル

0
0
2

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
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?