PHP、Smarty、ケータイサイトについて発信中。書籍 「Smarty動的webサイト構築入門」(技術評論社) 好評発売中
RSS icon Home icon
  • J-POSTALのデータについて


    J-POSTALの基本方針は、

    • 郵便番号を知っている場合の住所入力を省力化する。
    • 郵便番号7桁がわからない場合は、従来どおり住所を手入力とする。
    • 郵便番号の一部(3桁~6桁)を入力した場合は、候補一覧を表示する。
    • 住所から郵便番号を検索する機能は提供しない。

    です。これに沿って、郵政公社の郵便データの加工について、

    • 町域の補足情報や”( )”は不要。
    • 読みカナは不要。
    • 1個の住所が複数行にわたる場合、1行にまとめる。

    と考えました。
    大枠の仕様は、

    • 郵便番号の先頭3桁ごとに1ファイル、 001から999まで約1000ファイル。
    • ファイル内の並び順は、郵便番号の昇順。
    • 改行は、CRLF
    • 漢字コードは、Shift_JIS
    • ファイル終端のCtrl-Zは、無し。

     

    datajs/???.js の例

    a[0]='0010000,北海道,札幌市北区,,,,,,,,,';
    a[1]='0010010,北海道,札幌市北区,北十条西,,,,,,,,';
    a[2]='0010011,北海道,札幌市北区,北十一条西,,,,,,,,';

    フィールド

    都道府県データ由来の場合

    A列     B      C          D         EFGHIJKL
    0010011,北海道,札幌市北区,北十一条西,,,,,,,,

    大口事業所データ由来の場合

    A列     B      C          D            E                F                     GHIJKL
    0018585,北海道,札幌市北区,北二十四条西,6丁目2番12号,札幌北 社会保険事務所,,,,,,

    A列 現郵便番号(7桁)
    B列 都道府県
    C列 市区町村
    D列 町域
    E列 小字、丁目、番地など(大口事業所のみ)
    F列
    大口事業所の名称(大口事業所のみ)

    ※以下は予約されています。現在は空欄です。
    G列 都道府県(半角カタカナ)
    H列
    市区町村(半角カタカナ)
    I列 町域(半角カタカナ)
    J列 小字、丁目、番地など(半角カタカナ)
    K列
    大口事業所の名称(半角カタカナ)
    L列 地方自治体コード


    町域の補足情報

     町域から、次の補足情報は削除しています。

    以下に掲載がない場合
    ○○市(又は町・村)の次に番地がくる場合
    ○○市(又は町・村)一円

     

    加工前

    01101,"060  ","0600000","ホツカイドウ","サツポロシチユウオウク","イカニケイサイガナイバアイ","北海道","札幌市中央区","以下に掲載がない場合",0,0,0,0,0,0
    08344,"31922","3192215","イバラキケン","ナカグンオオミヤマチ","オオミヤマチノツギニバンチガクルバアイ","茨城県","那珂郡大宮町","大宮町の次に番地がくる場合",0,0,0,0,0,0
    10361,"37013","3701301","グンマケン","タノグンシンマチ","シンマチイチエン","群馬県","多野郡新町","新町一円",0,0,0,0,0,0

    加工後

    0600000,北海道,札幌市中央区,,,,,,,,,
    3192215,茨城県,那珂郡大宮町,,,,,,,,,
    3701301,群馬県,多野郡新町,,,,,,,,,

    ただし「一円」という町域は加工しません。

    25443,"52203","5220317","シガケン","イヌカミグンタガチョウ","イチエン","滋賀県","犬上郡多賀町","一円",0,0,0,0,0,0
    5220317,滋賀県,犬上郡多賀町,一円,,,,,,,,

    1個の郵便番号に複数個の住所がある場合

     そのまま残してあります。郵便番号の昇順に並んでいるので、ファイル内では連続して並んでいます。


    1個の住所が複数行にわたる場合

     町域が非常に長く複数行に分割されている場合、1行にまとめています。町域の”( )”は削除しています。

    2行に分割された例

    26106,"600  ","6008098","キヨウトフ","キヨウトシシモギヨウク","イナリチヨウ","京都府","京都市下京区","稲荷町(間之町通高辻下る、間之町通松原上る、高辻通間之町西",0,0,0,0,0,0
    26106,"600  ","6008098","キヨウトフ","キヨウトシシモギヨウク","イナリチヨウ","京都府","京都市下京区","入、高辻通間之町東入、高辻通東洞院東入)",0,0,0,0,0,0

    加工後

    6008098,京都府,京都市下京区,稲荷町,,,,,,,,

    3行に分割された例

    26106,"600  ","6008028","キヨウトフ","キヨウトシシモギヨウク","ウエマツチヨウ","京都府","京都市下京区","植松町(河原町通松原下る、河原町通万寿寺上る、寺町通町松原",0,0,0,1,0,0
    26106,"600  ","6008028","キヨウトフ","キヨウトシシモギヨウク","ウエマツチヨウ","京都府","京都市下京区","下る、寺町通万寿寺上る、松原通寺町西入、松原通寺町東入、万寿寺通河原町",0,0,0,1,0,0
    26106,"600  ","6008028","キヨウトフ","キヨウトシシモギヨウク","ウエマツチヨウ","京都府","京都市下京区","西入、万寿寺通寺町西入)",0,0,0,1,0,0

    加工後

    6008028,京都府,京都市下京区,植松町,,,,,,,,

    町域の”( )”

     都道府県データ(KEN_ALL.CSV)由来の町域の”( )”は削除しています。

    加工前

    01101,"060  ","0600042","ホツカイドウ","サツポロシチユウオウク","オオドオリニシ(1-19チヨウメ)","北海道","札幌市中央区","大通西(1~19丁目)",1,0,1,0,0,0
    01106,"005  ","0050863","ホツカイドウ","サツポロシミナミク","トキワ(ソノタ)","北海道","札幌市南区","常盤(その他)",0,0,0,0,0,0
    01202,"041  ","0410842","ホツカイドウ","ハコダテシ","タキサワチヨウ(57、97、98バンチ)","北海道","函館市","滝沢町(57、97、98番地)",1,0,0,0,0,0

    加工後

    0600042,北海道,札幌市中央区,大通西,,,,,,,,
    0050863,北海道,札幌市南区,常盤,,,,,,,,
    0410842,北海道,函館市,滝沢町,,,,,,,,

    大口事業所(JIGYOSYO.CSV)由来のデータ

     列を並びかえるだけであり、フィールド内容の加工はしていません。