Fastercsv показывает malformedCSVError, что я делаю не так?

#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 класс.