如何序列化数据并将其写入CSV文件?

时间:2013-09-16 18:58:25

标签: ruby serialization 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)选项,但在这种情况下无法理解如何实现它。

1 个答案:

答案 0 :(得分: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