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

Responder a