2015-06-03 66 views
0

我想打开使用SmarterCSV.process红宝石 - CSV工作而SmarteCSV不

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

的问题是数据无法读取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

什么是CSV文件的内容你在看什么?一个完整的,可重复的例子会很棒。 – Ajedi32

回答

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}"