我想从几个数组生成一个 csv 文件。 这是我的代码:
require 'csv'
CSV.open("csvfile.csv", "ab") do |csv|
csv << [array1]
csv << [array2]
csv << [array3]
end
我需要这个输出格式:
array1,array2,array3
array1,array2,array3
array1,array2,array3
array1,array2,array3
array1,array2,array3
感谢您的帮助
最佳答案
根据您的帖子,您的意思是 array1、array2、array3 存储表的 3 列的值,并且行索引由这些数组中的值的索引来标识?您可以首先将列分组在一起,对二维数组进行转置
,然后逐行写入 CSV 文件。
require 'csv'
table = [array1, array2, array3].transpose
CSV.open('csvfile.csv', 'ab') do |csv|
table.each do |row|
csv << row
end
end
您将获得如下所示的 csv 文件:
array1[0], array2[0], array3[0]
array1[1], array2[1], array3[1]
array1[2], array2[2], array3[2]
...
关于Ruby 按数组中的列写入 CSV 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15598658/