Publicidad:
La Coctelera

RoR-Lab

Evolución, anécdotas, problemas y soluciones durante el desarrollo de una aplicación web con Ruby on Rails

27 Abril 2007

Cargar archivo CSV en un arreglo (CSV.to_a)

En la empresa para la cual trabajo, se realizaba un proceso manual muy tedioso que consistía entre otras cosas en cargar dos archivos CSV a Excel y luego hacer una cantidad filtros, cálculos y conversiones (sin comentarios...).
Un día la persona encargada de este proceso, no lo pudo realizar y me lo asignaron a mi con un documento donde se explicaba paso a paso lo que había que realizar.
Como soy alérgico a los proceso manuales, entonces escribí un script en Ruby para que hiciera todo por mi.

Lo primero que necesité fue llenar dos arreglos con unos códigos que estaban formados por campos en unos archivo CSV; un archivo para cada arreglo.

De manera que quiero compartirles el código de un método que carga el contenido de un archivo CSV en un arreglo. Es fácil de entender así que eso se los dejo a ustedes:

 require 'csv'
 
 def CSV.to_a(file, fs = ',', rs =nil, headers = true)
   arr = Array.new
 
   reader = CSV.open(file, 'r', fs)
   reader.shift if headers # quitar los encabezados
   reader.each do |row|
     if block_given?
       res = yield row
     else
       res = row
     end
     arr << res if res
   end
 
   return arr
 end
 

Acá les pongo un par de ejemplo de como se utiliza:

 ordenes_arr = CSV.to_a('ordenesSW.csv','|') do |row| 
   "#{row[0]}-#{row[1]}#{row[2]}#{row[3]}" 
 end
 
 ordenes_ips_arr = CSV.to_a('ordenesIPS.csv') do |row| 
   row[3] unless row[3] == '0'
 end
 
 ordenes_xx_arr = CSV.to_a('ordenesIPS.csv')
 

Saludos,

Tags: tips

servido por Luis Felipe sin comentarios compártelo

sin comentarios · Escribe aquí tu comentario

Los comentarios están cerrados


Sobre mí

Actualmente me encuentro desarrollando una aplicación web que espero tener en producción para la mitad del 2007. La aplicación está desarrollada utilizando el framework Ruby on Rails. (RoR) Toda la evolución del sistema va a ser documentada en este blog con el ánimo de recibir retroalimentación o bien ser útil para otros desarrollos.

Fotos

Luis Felipe Hurtado Campuzano todavía no ha subido ninguna foto.

¡Anímale a hacerlo!

Buscar

suscríbete

Selecciona el agregador que utilices para suscribirte a este blog (también puedes obtener la URL de los feeds):

¿Qué es esto?

Crea tu blog gratis en La Coctelera