ここから本文です

作成中のWebサイト上に「AjaxZip 2.0 - Ajax郵便番号」を利用させていただき郵便番...

アバター

ID非公開さん

2013/2/2410:21:03

作成中のWebサイト上に「AjaxZip 2.0 - Ajax郵便番号」を利用させていただき郵便番号検索を設置しています。
どうしても郵便番号データにある半角カナも表示をさせる必要があります。

こちらのAjaxZip 2.0を利用させていただいています。
http://www.kawa.net/works/ajax/ajaxzip2/ajaxzip2.html

この中で、郵便番号一覧 CSV ファイルを JSON 形式に変換するPerl コマンドが配布されていますが、郵便番号一覧 CSV ファイルに含まれている半角カナデータを一緒にJSON形式にさせたいのですが、Perl コマンドは触ったことがないので、どうしたものか困っています。

郵便番号一覧 CSV ファイルを JSON 形式に変換するPerl コマンド
http://coderepos.org/share/browser/lang/javascript/ajaxzip2/work/cs...



変換前のCSVファイル例(日本郵便提供)

01102,"001","0010921","ホッカイドウ","サッポロシキタク","シンカワ1ジョウ","北海道","札幌市北区","新川一条",0,0,1,0,0,0




現状のPerl コマンドでCSVからJSONに変換されるファイル例

{"0010921":[1."札幌市北区","新川一条"],


希望するJSONファイル例

{"0010921":[1."札幌市北区","新川一条","サッポロシキタク","シンカワ1ジョウ"],
または
{"0010921":[1."札幌市北区","サッポロシキタク","新川一条","シンカワ1ジョウ"],

のような半角カナを含むデータ


お知恵を拝借させていただければ幸いです。

補足・何行目をどのように修正すれば変換できるか教えていただけると助かります。
・半角カナのデータは、
{"0010921":[1."ホッカイドウ","サッポロシキタク","シンカワ1ジョウ","北海道","札幌市北区","新川一条"],
のCSVのままの順番でもかまいません。

閲覧数:
483
回答数:
1
お礼:
100枚

違反報告

ベストアンサーに選ばれた回答

rraacarさん

2013/2/2605:35:22

01102,"001","0010921","ホッカイドウ"($r[3]),"サッポロシキタク"($r[4]),"シンカワ1ジョウ"($r[5]),"北海道"($r[6]),"札幌市北区"($r[7]),"新川一条($r[8])",0,0,1,0,0,0

93行目: $out->{$zip3}->{$r[2]} ||= [ $pref, $r[7], $r[8] ];

プログラム (csv2jsonzip.pl) の 93 行目で、必要なデータを抽出しているものと思います。コードを試していないので自信はありませんが、93 行目を次のようにしてみてください。

$out->{$zip3}->{$r[2]} ||= [ $pref, $r[7], $r[8], $r[4], $r[5] ];
または、
$out->{$zip3}->{$r[2]} ||= [ $pref, $r[7], $r[4], $r[8], $r[5] ];

アバター

質問した人からのコメント

2013/3/3 19:34:03

降参 お陰様で無事にデータを作成できました!ありがとうございました!

みんなで作る知恵袋 悩みや疑問、なんでも気軽にきいちゃおう!

Q&Aをキーワードで検索:

Yahoo! JAPANは、回答に記載された内容の信ぴょう性、正確性を保証しておりません。
お客様自身の責任と判断で、ご利用ください。
本文はここまでです このページの先頭へ

「追加する」ボタンを押してください。

閉じる

※知恵コレクションに追加された質問や知恵ノートは選択されたID/ニックネームのMy知恵袋で確認できます。