def self.insert_from_csv
require 'fastercsv'
require 'ar-extensions'
require 'kconv'
$KCODE='j'
csv_file = File.expand_path(File.join(RAILS_ROOT, 'vendor', 'plugins', 'jp_address', 'ken_all.csv'))
puts "Reading " + csv_file
puts "This file is over 12MB, please wait ..."
address_list = Array.new
FasterCSV.foreach(csv_file) do |data|
address_list << [
data[0],
data[1],
data[2],
data[6].toutf8,
data[7].toutf8,
data[8].toutf8.gsub(/^[0-9].*$|(.*$/u,"")
] unless data[2]=~/^[0-9]{6}0$/
end
puts "Store all data into static_addresses table."
puts "There are over 120,000 rows, please wait ..."
column = [:jiscode, :zipcode_old, :zipcode, :prefecture, :city, :address]
JpAddress.import(column, address_list, :optimize => true)
end