Ruby - CSV работает, а SmarteCSV - нет

Я хочу открыть csv использование файла SmarterCSV.process

  market_csv = SmarterCSV.process(market)
  p "just read #{market_csv}"

Проблема в том, что данные не читаются, и это печатает:

[]

Однако, если я попытаюсь сделать то же самое с реализацией библиотеки CSV по умолчанию, содержимое файла будет прочитано (следующий оператор печати печатает файл).

CSV.foreach(market) do |row|
    p row
end

Содержимое файла, который я читал, имеет вид:

Date,Close
03/06/15,0.1634
02/06/15,0.1637
01/06/15,0.1638
31/05/15,0.1638

1 ответ

Решение

Проблема может возникнуть из-за разделителя строк, файл не совсем такой, если вы используете Windows или Unix-систему ("\r\n" или "\r"). Попробуйте определить и указать символ в SmarterCSV.process следующим образом:

market_csv = SmarterCSV.process(market, row_sep: "\r")
p "just read #{market_csv}"

или вот так:

market_csv = SmarterCSV.process(market, row_sep: :auto)
p "just read #{market_csv}"
Другие вопросы по тегам