我无法弄清楚如何将列垂直向下写入输出CSV文件。水平编写数组非常简单,可以在一行中完成:
func1
有没有办法让CSV.open("log.csv", "wb") do |csv|
csv << ["Computers",]
csv << myarray
end
在一行中写下一列,还是比这更复杂?
数组格式:
myarray
答案 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