我正在尝试导入一些CSV数据,但由于某种原因,它们的结构不正确且包含无效字符。例如,当我执行sale_hash["location"]
时,它会返回nil
。
这是我正在使用的功能:
def self.import(file)
CSV.foreach(file.path, headers: true, encoding:'iso-8859-1') do |row|
sale_hash = row.to_hash
p sale_hash
end
end
我得到这样的东西:
{
"date;day;time;location;station;washer;plate_number;O;I;W;total_price;;;;"
=> "23/04/16;SATURDAY;15:11;ALPHAMEGA LIN;GROUNDFLOOR;NIKOLAS APOSTOLIDES;KKY333;YES;NO;NO;Û2",
nil => "95;;;;"
}
我所做的只是使用excel电子表格并将其导出为CSV。我在这里做错了吗?
答案 0 :(得分:0)
是的,感谢Jordan和mu太短了,我通过添加以下col_sep
来实现它:
def self.import(file)
csv = CSV.read(file.path, headers: true, col_sep: ";")
csv.each do |row|
sale_hash = row.to_hash
p sale_hash
end
end