2013-03-24 1 views
2

severals 배열에서 csv 파일을 생성하고 싶습니다.Ruby 배열의 열로 CSV 파일에 씁니까?

array1,array2,array3 
array1,array2,array3 
array1,array2,array3 
array1,array2,array3 
array1,array2,array3 

들으 당신이 게시물에 따르면

답변

4

을 돕기 위해, 당신은 그 배열 1, 배열 2, array3 저장 값을 찾으 셨나요? 내가이 출력 형식을 필요로

require 'csv' 
CSV.open("csvfile.csv", "ab") do |csv| 
csv << [array1] 
csv << [array2] 
csv << [array3] 
end 

: 이 내 코드입니다 행 인덱스는 이러한 배열에있는 값의 인덱스로 식별됩니까? 먼저 열을 그룹화하고 2 차원 어레이에서 transpose을 수행 한 다음 행별로 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] 
... 
+0

예, 그렇게하고 싶습니다. 완전한! 많은 감사! – indi

1

Enumerable#zip 여러 컬렉션의 병렬 탐색을위한 가장 일반적인 방법입니다.

require 'csv' 

CSV.open('csvfile.csv', 'ab') do |csv| 
    array1.zip(array2,array3) { |row| csv << row } 
end