#ruby #ruby-on-rails-5
#ruby #ruby-on-rails-5
Вопрос:
у меня возникли проблемы с получением данных из таблицы csv
это моя таблица csv
это мой код в моем файле модели, где он был вызван в моем методе post (метод create в контроллере)
map = {}
table = CSV.read(File.open(csvpath, "r:bom|utf-8"), :headers => true)
table.each do |row|
map[row['Sku Code']] = row['SKU Mfg Code']
end
puts map
теперь проблема в том, что мои строки [‘Sku Code’] и строка [‘SKU Mfg Code’] не смогли найти соответствующие значения в каждой строке
по сути, я создаю словарь, ключом которого является «код sku», а его значением является «Код mfg SKU».
кто-нибудь может мне здесь помочь?
Комментарии:
1. Я пишу код на ruby в VS code в Windows … кто-нибудь может порекомендовать, какой лучший форматировщик для форматирования кода ruby … что-то вроде black для кода python и более красивого форматированного кода
2. Я пробовал rufo, но он не работает
Ответ №1:
Вы можете попробовать использовать CSV.foreach
: https://ruby-doc.org/stdlib-2.6.1/libdoc/csv/rdoc/CSV.html#method-c-foreach
...
...
CSV.foreach("path/to/file.csv", :headers => true) do |row|
map[row['Sku Code']] = row['SKU Mfg Code']
end
...
...