Я читаю некоторые значения из файла .xlsx.Значения следующие: column1 = title, column2 = body, column3 = author.Я могу правильно прочитать эти значения.Однако я хочу сохранить эти значения в хэше, а каждый хэш - в массиве.
Результат, который мне нужен:
poetry_attributes = [
{
title: 'title1',
author: 'author1',
body: 'body1',
},
{
title: 'title2',
author: 'author2',
body: 'body2',
}, ....
]
Однако я не получаю его.
Мой код:
poetry_attributes = []
poetry_attributes_dict = {
title: 'Title of the poetry',
body: 'The body of the author',
author: 'Author of the poetry',
}
workbook = SimpleXlsxReader.open './db/basic.xlsx'
worksheets = workbook.sheets
worksheets.each do |worksheet|
num_rows = 0
worksheet.rows.each do |row|
row_cells = row
title = row[0]
body = row[1]
author = row[2]
num_rows += 1
poetry_attributes_dict[:title] = title
poetry_attributes_dict[:body] = body
poetry_attributes_dict[:author] = author
poetry_attributes << poetry_attributes_dict
end
end
puts poetry_attributes
Я думаю, что каким-то образом переопределяю хеш, потому что внутри массива сохраняется только последний хеш.