通过文件上传从CSV导入数据。 csv.each_with_index
在本地开发环境和Heroku(雪松)中以不同方式解析同一文件:
# Sample CSV row:
# Steel Can,100,2.6,31,Steelco
csv = CSV.parse(infile, {:headers => true})
csv.each_with_index do |row, i|
row = ???
end
本地行被读取为包含单个长字符串的数组:
row = ["Steel Can,100,2.6,31,Steelco"]
parse via: row[0].split(",")
# Seems weird CSV parser requires a split on a comma, but w/e
在Heroku上,行正确读取为包含多个字符串的数组:
row = ["Steel Can","100","2.6","31","Steelco"]
parse via: row
对于S& Gs,我尝试在CSV中的每个字段周围添加引号,导致格式化格式不正确的CSV错误,我放弃了它。
导致同一文件在服务器上以不同方式解析的原因是什么?
答案 0 :(得分:1)
在Ruby 1.8.x中,CSV是一个与Ruby 1.9.2完全不同的库。
在Ruby 1.9.2中,CSV库是Ruby 1.8 FasterCSV库。