Ruby - CSV在SmarteCSV不起作用时起作用

时间:2015-06-03 16:47:04

标签: ruby csv smartercsv

我想使用csv

打开SmarterCSV.process文件
  market_csv = SmarterCSV.process(market)
  p "just read #{market_csv}"

问题是没有读取数据并打印出来:

[]

但是,如果我使用默认的CSV库实现尝试相同的操作,则会读取文件的内容(以下print语句将打印该文件)。

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 个答案:

答案 0 :(得分:1)

问题可能来自行分隔符,如果您正在使用Windows或unix系统,则文件不完全相同(" \ r \ n"或" \ r&# 34)。尝试在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}"