CSV 文件中的重复标头

Ger*_*rit 5 ruby csv

我尝试使用 ruby​​ csv lib 解析 csv 文件,但该文件有两列具有相同的标题文本。是否可以访问列:column,即row[:column_1]row[:column_2]row[:column][0]row[:column][1]或我应该使用索引来访问它?

谢谢

Wan*_*ker 3

如果有重复的标题,则 row[:column] 将返回第一个值。

您必须使用索引进行迭代。

require 'csv'

filename = "/path/to/csv"

csv = CSV.table(filename, {:headers => :first_row})
headers = csv.headers

csv.each_with_index do |row, i|
    (0...headers.length).each do |j|
        column_header = headers[j]
        column_value = row[j]
        puts " Row #{i}: Header '#{column_header}' has value '#{column_value}'"
    end 
end
Run Code Online (Sandbox Code Playgroud)