Я использую Nokogiri для извлечения данных из таблицы HTML в документ HTML.
document = Nokogiri::HTML(File.open("webpage.html"))
tables = document.search('table')
table = tables.first # first table in the document
document.at('table').search('tr').each do |row|
cells = row.search('th, td').map { |cell| cell.text.strip }.values_at(0, 2) #select first and second column value
end
Когда я отображаю извлеченный текст, он создает много массивов без разделителя (вывод из печати):
["1972", "$5,500.00"]["1973", "$5,600.00"]["1974", "$6,600.00"]["1975", "$7,400.00"]["1976", "$8,300.00"]["1977", "$9,300.00"]["1978", "$10,400.00"]
Моя цель состоит в том, чтобы иметь один хэш, который выглядит следующим образом:
{"1972" => "$5,500.00", "1973" => "$5,600.00", "1974" => "$6,600.00", "1975" => "$7,400.00", "1976" => "$8,300.00", "1977" => "$9,300.00", "1978" => "$10,400.00"}
Если бы я создавал вложенный массив с помощью итератора карты, я мог бы справиться с этим, новсе, что я делаю, создает несколько массивов без разделителя (запятая).
Я даже не знаю, как назвать вывод, который я получаю, когда я:
print cells
В качестве альтернативы, какя могу преобразовать эти несколько массивов без разделителя в желаемый хэш-формат?