Eliminar lineas de archivo CSV por criterio

Rodrigo Ruiz Fuentes rruizf en gmail.com
Mie Feb 2 19:03:17 CLST 2011


On 02/02/11 17:56, Aldrin Martoq wrote:
> [...]
> Todo eso es tan de la vieja escuela... acá una solución en ruby 1.9 que tu mismo puedes entender y modificar a gusto:
>
> ----- ini -- procesar.rb ------
> #!/usr/bin/ruby1.9.1
>
> require 'csv'
>
> CSV.open('resultado.csv', 'wb', :col_sep =>  ';', :force_quotes =>  true) do |out|
>    CSV.foreach('prueba.csv', :col_sep =>  ';') do |fila|
>      if fila[3] == "" or fila[4] == ""
>        puts 'Ignorando fila: ' + fila.to_s
>      else
>        out<<  fila
>      end
>    end
> end
> ----- procesar.rb -- fin ------
>
> ----- ini -- procesar.rb ------
> "HOLA";"1";"ESTAS TÚ?";"";""
> "HOLA";"2";"ESTAS TÚ?";"a";""
> "HOLA";"3";"ESTAS TÚ?";"";"b"
> "HOLA";"4";"ESTAS TÚ?";"c";"d"
> "HOLA";"5";"ESTAS TÚ?";"";""
> "HOLA";"6";"ESTAS TÚ?";"e";"f"
> ----- prueba.csv -- fin ------
>
>
> ejecución:
> $ sudo apt-get install ruby1.9.1
> $ chmod a+x procesar.rb
> $ ./procesar.rb
>
>
> Mas info en http://www.ruby-doc.org/stdlib/libdoc/csv/rdoc/index.html ... Bueno, quedó en bandeja de plata ¿Qué premio ganamos? ;)
>

Muchas gracias estimado, se agradece su ayuda... voy a ver si puedo 
hacer algo con ruby, pues el criterio ahora ha cambiado a validar los 
campos como numéricos.
Te has ganado mi admiración ;)

Gracias!

-- 
Rodrigo Ruiz Fuentes



Más información sobre la lista de distribución Linux