ファイルx.csv
にデータをコピーした後、私はIRBに次のように実行:
2.3.0 :009 > require 'csv'
=> false
2.3.0 :010 > csv = CSV.read 'x.csv'
=> [["ID", "Name", "Age"], ["1", "John", "99"]]
2.3.0 :010 > csv = CSV.read 'x.csv'
=> [["ID", "Name", "Age"], ["1", "John", "99"]]
2.3.0 :011 > header_line = csv[0]
=> ["ID", "Name", "Age"]
2.3.0 :012 > header_line[0]
=> "ID"
2.3.0 :013 > header_line[1]
=> "Name"
2.3.0 :014 > header_line[2]
=> "Age"
...ので、これはあなたがそれを行うことができます一つの方法です。 read
を使用して配列の配列を取得し、最初の配列が列見出しの配列であると仮定します。現実の世界では
あなたはおそらく一度にメモリにファイル全体を読みたくないだろうとCSV.foreach
を使用します。
#!/usr/bin/env ruby
data = []
CSV.foreach('x.csv') do |values_in_row|
if @column_names # column names already read; this must be a data line
data << values_in_row # just an example
# do something with values_in_row
else
@column_names = values_in_row
end
end
puts "Column names are: #{@column_names.join(', ')}"
puts "Data lines are:"
puts data
あなたがpostition' 'によって何を意味するかについて、もう少し明確にしてくださいすることができます – Alfie
@Alfie IDが0、名前が1、年齢が2であることをスクリプトに表示させたい。配列のように。 – Username
'row [0]'、 'row [1]'、 'row [2]' ...? – spickermann