CSV.open(name, "r").each do |row|
puts row
end我得到了以下错误:
CSV::MalformedCSVError Unquoted fields do not allow \r or \n 文件的名称是.txt制表符分隔的文件。我特意做的。我有一个.csv文件,我去excel,并将文件保存为以.txt制表符分隔的文件。因此它是制表符分隔的。
CSV.open不应该能够读取制表符分隔的文件吗?
发布于 2015-07-24 23:40:04
默认情况下,CSV使用逗号作为分隔符,这是因为CSV代表“逗号分隔值”。
如果你想要一个不同的分隔符(在本例中是制表符),你需要显式地使用它。
示例
p CSV.new("aaa\tbbb\tccc\nddd\teee", col_sep: "\t").read相关文档:http://ruby-doc.org/stdlib-2.1.0/libdoc/csv/rdoc/CSV.html#new
https://stackoverflow.com/questions/31614330
复制相似问题