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