Импортировать столбец CSV, где заголовок включает X?

У меня есть файл CSV с заголовком столбца, например, так:

[NPSScore]      On a scale of 0 to 10, how likely would you b...

Но иногда заголовок может выглядеть так:

[NPSScore]

Мне нужно прочитать этот столбец в массив. Мой код выглядит так:

CSV.foreach(csv_file_to_read_for_is_average_nps_score, :col_sep => "\t", :encoding => "BOM|UTF-16LE:UTF-8", :headers => true) do |column|
  is_average_nps_score_arr << column['[NPSScore]'] 
end

Тем не менее, это только подберет последний из двух вариантов заголовка.

Как я могу написать это, чтобы забрать любой столбец, который включает NPSScore?

1 ответ

Решение

Чтобы получить первый столбец, содержащий строку '[NPSScore]' делать

column.find{|k,_| k.include? '[NPSScore]' }.last

вместо

column['[NPSScore]']
Другие вопросы по тегам