Ruby - CSV 有效而 SmarteCSV 无效

Ruby - CSV works while SmarteCSV doesn't

我想使用 SmarterCSV.process

打开 csv 文件
  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

问题可能来自行分隔符,如果您使用 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}"