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

Mat*_*one 5 ruby migration ruby-on-rails fastercsv

我遇到了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                 
Run Code Online (Sandbox Code Playgroud)

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

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

Mat*_*one 5

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


ysk*_*ysk 5

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