2014-06-13 2 views
-5

CSV 파일을 읽었습니다. 이 파일은이Ruby CSV in 배열

1.00 cm; 2.00cm ; 3.00 cm; ... ; 100 cm 
2.00 cm; 4.00 cm; 6.00 cm; ... ; 100 cm 
4.00 cm; 8.00 cm; 12.00 cm; ... ; 100cm 
8.00 cm; 16.00 cm; 24.00 cm; ... ; 100cm 

처럼 이미 다음 코드

CSV.foreach("/Users/testUser/Entwicklung/coverrechner/CoverPaperDE.csv", col_sep: ';') do |row| 
     puts row[0] 
end 

이 다음과 같은 출력을 생성을 쓴 같습니다

1.00 cm 
2.00 cm 
4.00 cm 
8.00 cm 

예 : 내 행렬이

을 구성되어
1.1 1.2 1.3 1.4 

2.1 2.2 2.3 2.4 

3.1 3.2 3.3 3.4 

4.1 4.2 4.3 4.4 
012 3,516,

내가 원하는 다음과 같은 출력

1.1 2.1 3.1 4.1 1.2 2.2 3.2 4.2 ... 4.4 

는 어떻게 작동합니까?

+4

원하는 것을 원하십니까? 나는 가지 않는다. 예상 결과? –

답변

0

첫 번째 행의 첫 번째 요소와 마지막 행의 세 번째 요소를 원하십니까? 또한

first = last = nil 
CSV.foreach("/Users/testUser/Entwicklung/coverrechner/CoverPaperDE.csv", col_sep: ';') do |row| 
    first ||= row[0] 
    last = row[3] 
end 

puts "first is #{first} and last is #{last}" 
0

이 정확한 예상 출력을 준다 :

csv_str = "1.00 cm; 2.00cm ; 3.00 cm; ... ; 100 cm\n2.00 cm; 4.00 cm; 6.00 cm; ... ; 100 cm\n4.00 cm; 8.00 cm; 12.00 cm; ... ; 100cm\n8.00 cm; 16.00 cm; 24.00 cm; ... ; 100cm" 
CSV.parse(csv_str, col_sep: ';') do |row| 
    puts row[0] 
end 

출력 :

1.00 cm 
2.00 cm 
4.00 cm 
8.00 cm 

(CSV.parse, 당신의 방법과 동일 단지 대신 문자열을 구문 분석 sscce의 경우에 사용되는 파일 사용)