2011-05-27 43 views
8

紅寶石1.9版本CSV在Ruby CSV中,如何寫一個空白而不是「」到一個文件?

header %w[first second third] 

data = ["column one",,"column three"] 

CSV.open("myfile.csv","w") do |csv| 
    csv << header 
    csv << data 
end 

的在這個簡單的例子中,空的中間,,數據陣列中會導致錯誤,但如果空引用被使用,「」,則沒有錯誤,CSV文件被創建。不過,我想讓CSV文件沒有空的引用段。

具體如何生成不帶引號的CSV文件的空白部分?數據可能是空變量,但它仍應寫入逗號。

回答

23

使用

data = ["column one",nil,"column three"] 

其生成CSV

first,second,third 
column one,,column three 
+0

優秀的,謝謝。一旦有勾號,允許使用 – sf2k 2011-05-27 19:11:35

+0

我遇到過這樣的情況,我在帶空格的'分隔符'的分隔符字符串上使用了拆分方法,例如製表符分隔的字符串應該是''name \ tage \ t \ t \ tbirthday \ n 「'和那些空白字段的結果數組變成雙引號(」「)。下面是我在數組中生成nils的過程: 'csv << string.split(/ \ t /)。map {| f | f ==「」?零:f}' – 2017-01-10 01:48:05

相關問題