2013-09-16 151 views
1

我有一堆需要寫入CSV文件的數據。目前我正在這樣做:如何序列化數據並將其寫入CSV文件?

CSV.open("file.csv" , 'w') do |writer| 
    readfromCSV.each do |x| 
    writer << x 
    end 
end 

我需要序列化所有數據並將其寫入CSV文件。

我是新來的序列化,我讀了Marshal.dump(x)序列化數組,但它會拋出一個錯誤,當我嘗試做writer<<x

我讀了關於選項dump(ary_of_objs, io = "", options = Hash.new),但無法理解如何在這種情況下實現它。

+0

看看這裏http://stackoverflow.com/questions/10844669/ruby-how-can-use-the-dump-method-to-output-data-to-a-csv-file – engineersmnky

+0

我在下面編寫了編組數據。它寫入時沒有顯示任何錯誤:File.open(「csvfile.csv」,'w')do | f | readfromCSV.each_with_index do | x,i | Marshal.dump(x,f) 結束 結束 – user1455116

+0

您的問題很混亂。什麼是'readfromCSV'?如果您不向我們顯示代碼,我們無法幫到您。請參閱http://sscce.org/ –

回答

1

http://www.ruby-doc.org/stdlib-2.0.0/libdoc/csv/rdoc/CSV.html解釋了csv模塊中的功能。

說你想在csv小寫的第一列字符串;

CSV.open("file.csv" , 'w') do |writer| 
    readfromCSV.each do |row| 
    # row is a csv row, pretty much an array 
    row[0] = row[0].downcase 
    writer << row 
    #alternatively, you could do it manually eg. writer << ["this", "rocks"] 
    end 
end 
相關問題