Я использую задачу rake и модуль csv, чтобы перебрать один csv, извлечь и изменить нужные мне данные, а затем добавить каждую новую строку данных во второй csv. Однако каждая строка, похоже, перезаписывает/заменяет предыдущую строку в новом csv вместо добавления к ней новой строки после нее. Я просмотрел документацию и googled, но не могу найти примеры добавления строк в csv по-разному.Данные переписываются вместо добавления в CSV
require 'csv'
namespace :replace do
desc "replace variant id with variant sku"
task :sku => :environment do
file="db/master-list-3-28.csv"
CSV.foreach(file) do |row|
msku, namespace, key, valueType, value = row
valueArray = value.split('|')
newValueString = ""
valueArray.each_with_index do |v, index|
recArray = v.split('*')
handle = recArray[0]
vid = recArray[1]
newValueString << handle
newValueString << "*"
variant = ShopifyAPI::Variant.find(vid)
newValueString << variant.sku
end
#end of value save the newvaluestring to new csv
newFile = Rails.root.join('lib/assets', 'newFile.csv')
CSV.open(newFile, "wb") do |csv|
csv << [newValueString]
end
end
end
end
Спасибо, Томас! –