#ruby-on-rails #ruby #fastercsv
#ruby-on-rails #ruby #fastercsv
Вопрос:
Я внедряю Ruby и запускаю проект, который считывает файл CSV для добавления пользователей.
но когда я выбираю свой файл, он всегда выдает одну и ту же ошибку:
FasterCSV::MalformedCSVError in User importController#match
Illegal quoting on line 1.
мой CSV-файл существует только из :
«RubenPersoon1″,»test»,»Bauwens»,»Ruben»,»rub@gmail.com»,0
любой, кто знает, что может быть не так?
Комментарии:
1. Вы уверены , что ваш CSV-файл выглядит именно так? Может быть, у вас есть, скажем, два,
'
где, как вы думаете, у вас есть один"
?2. Можете ли вы просто попробовать процитировать это 0? Я не думаю, что на самом деле это проблема, но исключить это не помешает.
Ответ №1:
Попробуйте обновить свою версию FasterCSV gem. С последней версией это работает:
FasterCSV.parse_line '"RubenPersoon1","test","Bauwens","Ruben","rub@gmail.com",0'
=> ["RubenPersoon1", "test", "Bauwens", "Ruben", "rub@gmail.com", "0"]
ruby-1.8.7-p352 :005 > FasterCSV.parse '"RubenPersoon1","test","Bauwens","Ruben","rub@gmail.com",0'
=> [["RubenPersoon1", "test", "Bauwens", "Ruben", "rub@gmail.com", "0"]]
Кроме того, имейте в виду, что если вы используете Ruby 1.9.2, FasterCSV
уже включен. Просто require 'csv'
и используйте CSV
класс.