【问题标题】:CSV data not parsed correctlyCSV 数据未正确解析
【发布时间】:2016-11-25 16:40:25
【问题描述】:

我正在尝试导入一些 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。我在这里做错了吗?

【问题讨论】:

标签: ruby-on-rails ruby excel csv ruby-on-rails-5


【解决方案1】:

感谢 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-18
    • 1970-01-01
    • 2012-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多