2015-06-03 65 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}"