RubyのCSVモジュールは遅いようなので郵便番号データを読む際に
line.split(',').map {|it| it.delete('"') }
と、手抜きができるかチェック
> sed -e "s/[^,]//g" KEN_ALL.CSV | wc
121941 121941 1829115
> echo $(( 1829115 % 121941 ))
0
> sed -e "s/[^\"]//g" KEN_ALL.CSV | wc
121941 121941 2072997
> echo $(( 2072997 % 121941 ))
0
手を抜いても良さそうだ。