Necesito leer un archivo CSV, actualizar un campo y guardar los cambios. Tengo todo funcionando bien salvo guardar mis cambios en el campo Estoy actualizando:Cómo analizar un archivo CSV, actualizar un campo y luego guardar
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
¿Qué hago aquí? ¿Cómo guardo los cambios que realicé y actualicé el archivo?
habría que csv_out.close fuera del bucle? – thatmiddleway
Sí, el 'csv_out.close' estaría fuera del ciclo' each_with_index' ya que solo quiere hacer esto una vez y después de haber terminado de pasar las filas del archivo original. – mikej
Eso tiene sentido, ¡Gracias! – thatmiddleway