将数组垂直写入CSV

时间:2016-03-14 05:54:30

标签: arrays ruby csv

我无法弄清楚如何将列垂直向下写入输出CSV文件。水平编写数组非常简单,可以在一行中完成:

func1

有没有办法让CSV.open("log.csv", "wb") do |csv| csv << ["Computers",] csv << myarray end 在一行中写下一列,还是比这更复杂?

数组格式: myarray

3 个答案:

答案 0 :(得分:1)

遍历您的阵列并将每个项目作为数组添加到CSV:

CSV.open("log.csv", "wb") do |csv|
  csv << [ "Computers" ]
  MyArray.each do |item|
    csv << [ item ]
  end
end

答案 1 :(得分:0)

也许您可以使用Marshal转储序列化数组,然后将字符串转换为插入csv。

答案 2 :(得分:0)

您可以使用each迭代数组。

CSV.open("log.csv", "wb") do |csv|
  csv << ["Computers"]
  myArray.each { |e| csv << e }
end

如果要将多个数组放入CSV文件,可以使用zip将所有数组放在数组中。

CSV.open("log.csv", "wb") do |csv|
  csv << ["Computers","OS","RAM"]
  arr = myComputers.zip(myOperatingSystems, myRams)
  arr.each { |row| csv << row }
end