Rails FasterCSV“未加引号的字段不允许\ r或\ n”

我遇到了FasterCSV和我的rake db:种子迁移的问题。 我得到错误:“rake aborted!unquoted字段不允许\ r或\ n(第2行)”对以下seeds.rb数据:

require 'csv' directory = "db/init_data/" file_name = "gardenzing020812.csv" path_to_file = directory + file_name puts 'Loading Plant records' # Pre-load all Plant records n=0 CSV.foreach(path_to_file) do |row| Plant.create! :name => row[1], :plant_type => row[3], :group => row[2], :image_path => row[45], :height => row[5], :sow_inside_outside => row[8] n=n+1 end 

我已经搜索了这个问题的解决方案,并发现对于很多人来说这是一个UTF-8编码问题。 我已经尝试过要求iconv和:encoding =>’u’,但这会给我错误“UTF-8中的无效字节序列”。

我是一个新手,我无法弄清楚它是否真的是一个我需要破解的编码问题(我一直试图做不成功,如果是这样,我真的可以使用一些指导)或者,更可能是我感觉,我做了一个简单的失误,并且做了一些错误的方式我设置了seeds.rb,可能还有我的excel – > csv文件。 csv文件中没有错误或笨拙的数据。 这是简单的单字符串,文本和整数。 请帮忙!

它就像在csv中清除所有格式一样简单。 Excel似乎习惯在保存csv文件后保留大量格式,导致失败。 在我复制并粘贴所有数据后,在新的csv文件中没有格式化,这很好。

使用String.encode(universal_newline: true)代替gsub。 它将CRLF和CR转换为LF#总是用\ n来断行

我没有足够的声誉来评论,但我想说我一直在网上昼夜看这个错误已经很长时间了,终于在评论中找到了解决方案,由mu太短了 。

当我在所有值上加上引号时,我终于开始工作了。

编辑: 链接回答!!! Rails FasterCSV“未加引号的字段不允许\ r或\ n”