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


     日本郵便の都道府県データ(KEN_ALL.CSV)のデータ構造について説明します。

     カンマ区切りのCSV形式のファイルです。漢字コードはShift_JIS。改行はCRLF。ファイル終端に Ctrl-Z が付いています。
     KEN_ALL.CSVの先頭数行を示します。

    01101,"060  ","0600000","ホツカイドウ","サツポロシチユウオウク","イカニケイサイガナイバアイ","北海道","札幌市中央区","以下に掲載がない場合",0,0,0,0,0,0
    01101,"064  ","0640941","ホツカイドウ","サツポロシチユウオウク","アサヒガオカ","北海道","札幌市中央区","旭ケ丘",0,0,1,0,0,0
    01101,"060  ","0600041","ホツカイドウ","サツポロシチユウオウク","オオドオリヒガシ","北海道","札幌市中央区","大通東",0,0,1,0,0,0
    01101,"060  ","0600042","ホツカイドウ","サツポロシチユウオウク","オオドオリニシ(1-19チヨウメ)","北海道","札幌市中央区","大通西(1~19丁目)",1,0,1,0,0,0

    フィールド

    A列   B       C         D         E              F         G         H             I        J K L M N O
    01101,"064  ","0640941","ホツカイドウ","サツポロシチユウオウク","アサヒガオカ","北海道","札幌市中央区","旭ケ丘",0,0,1,0,0,0

    A列 地方公共団体コード
    B列 旧郵便番号(5桁)
    C列 現郵便番号(7桁)

    D列 都道府県(半角カタカナ)
    E列 市区町村(半角カタカナ)
    F列 町域(半角カタカナ)

    G列 都道府県
    H列 市区町村
    I列 町域

    J列 一町域が二以上の郵便番号で表される場合
    K列 小字毎に番地が起番されている町域
    L列 丁目を有する町域の場合
    M列 一つの郵便番号で二つ以上の町域を表す場合
    N列 更新
    O列 変更理由


    町域の補足情報

     町域には次のような補足情報が記述されています。

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

    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

    ただし「一円」という町域もあります。

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

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

     例えば 7712102には45個、0294205には43個の住所があります。
    注目すべきことは、これらの複数住所はKEN_ALL.CSV内で連続行とはかぎりません。

    36462,"77121","7712102","トクシマケン","ミマグンミマチヨウ","オオイケ","徳島県","美馬郡美馬町","大池",0,0,0,1,0,0
    36462,"77121","7712106","トクシマケン","ミマグンミマチヨウ","オオイズミ","徳島県","美馬郡美馬町","大泉",0,0,0,1,0,0
    36462,"77121","7712102","トクシマケン","ミマグンミマチヨウ","オオウエ","徳島県","美馬郡美馬町","大上",0,0,0,1,0,0
    36462,"77121","7712102","トクシマケン","ミマグンミマチヨウ","オオキタ","徳島県","美馬郡美馬町","大北",0,0,0,1,0,0
    36462,"77121","7712101","トクシマケン","ミマグンミマチヨウ","オオクボ","徳島県","美馬郡美馬町","大久保",0,0,0,1,0,0
    36462,"77121","7712102","トクシマケン","ミマグンミマチヨウ","オオサコ","徳島県","美馬郡美馬町","大佐古",0,0,0,1,0,0
    36462,"77121","7712102","トクシマケン","ミマグンミマチヨウ","オオマエ","徳島県","美馬郡美馬町","大前",0,0,0,1,0,0

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

     町域が非常に長い場合、複数行に分割されます。この場合は連続行です。
    (残念なことに継続行フラグはありません。各行の内容から継続行かどうか判断します)

    2行に分割された例

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

    本来のデータ

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

    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

    本来のデータ

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

    町域の”( )”

     郵政公社データは、住所から郵便番号を調べるために、町域に( )を記述し、
    その( )内に丁目、番地、旧地名などが記述されている場合が多々あります。
    ( )内が非常に長い場合に、先に示した複数行に分割されるようです。

    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