2011-11-22 69 views
1

標籤的所有內容我寫一些像這樣的代碼:如何迭代從csv文件

require 'csv' 
people = CSV.parse(File.read("import1.csv")) 
puts people[0][0] 
puts people[0][1] 
puts people[0][2] 

如何我現在可以讀取人的所有元素?

回答

1

我不是100%確定你要達到的目標。你可以擴展你想要做的事嗎?你有沒有想過依次解析文件中的每一行,然後分別對每個人進行操作?例如

CSV.foreach("path/to/file.csv") do |person| 
    first_name = person[0] 
    last_name = person[1] 
    # ... do something with the person - add to an array, construct a Person object etc  
end 

而且,如果你有頭,只是包括:headers => true選項,如下所示:

CSV.foreach("path/to/file.csv", :headers => true) do |person| 
    first_name = person[0] 
    last_name = person[1] 
    # ... do something with the person - add to an array, construct a Person object etc  
end 
+0

確定它看起來不錯,但我有一個問題,即,第一行是柱的側向承載力的名字(我的劇本必須檢查colums的名稱是否正確)。 –

+0

沒問題 - 我已編輯過,以向您展示如何跳過標題行:-) – Olly