【发布时间】:2014-06-16 03:32:10
【问题描述】:
我有一个没有引号字符的 TSV 文件。每当数据中出现\t 时,它总是分隔列,而不是列值的一部分。每当出现" 时,它始终是列值的一部分,并且永远不会包含列值。
我想在 Ruby 中阅读这个 CSV,但它给了我
/Users/.rvm/rubies/ruby-1.9.3-p545/lib/ruby/1.9.1/csv.rb:1925:in `block (2 levels) in shift': Illegal quoting in line 9506. (CSV::MalformedCSVError)
我的代码是:
CSV.foreach(input_file, { :col_sep => "\t", :headers => true}) do |row|
puts row
end
有什么办法可以解决这个问题?
【问题讨论】:
-
我强烈推荐 James Edward Gray II 的 fastcsv gem。它让生活更简单。
-
@6ftDan:Ruby 1.9.3 中的标准库 csv 是 fastercsv AFAIK。
标签: ruby parsing csv double-quotes