Ho bisogno di leggere un file CSV, aggiornare un campo, quindi salvare le modifiche. Ho tutto funzionante, salvo salvare le modifiche al campo che sto aggiornando:Come analizzare un file CSV, aggiornare un campo, quindi salvare
require 'csv'
@parsed_file = CSV::Reader.parse(File.open("#{RAILS_ROOT}/doc/some.csv"))
@parsed_file.each_with_index do |row, x|
address = row[5]
l = Location.address_find(address)
if l != nil
puts "#{l.name} at #{l.address}"
row[14] = l.store_code
puts row[14]
else
puts "No matching address Found!!!"
end
#What do I do here? Something like this? CSV::Writer.generate(@parsed_file)
end
Cosa faccio qui? Come posso salvare le modifiche apportate e aggiornare il file?
dovrei csv_out.close fuori del ciclo? – thatmiddleway
Sì, il 'csv_out.close' sarebbe al di fuori del ciclo' each_with_index' come si desidera fare una sola volta e dopo aver terminato di eseguire il looping delle righe dal file originale. – mikej
Questo ha senso, grazie! – thatmiddleway