Ver Mensaje Individual
  #6 (permalink)  
Antiguo 17/10/2010, 13:30
Avatar de erbuson
erbuson
 
Fecha de Ingreso: noviembre-2009
Mensajes: 701
Antigüedad: 15 años
Puntos: 53
Respuesta: leer archivo csv, transformar datos y crear un nuevo csv

Hola, de nuevo. Haber empezado por ahí, es igualmente facil. Te cuento con un ejemplo con comentarios.

Código vb:
Ver original
  1. Dim Dato() As String
  2. Dim RegistroCompleto As String
  3. Dim Registro As Long
  4. Dim Nombre As String, Poblacion As String, Fecha As Date, Importe As Currency
  5.  
  6. Do While Not EOF(1)
  7.   ' Supongamos que lees este Registro
  8.  ' Jose;12/04/1980;Madrid;1280
  9.  Line Input #1, RegistroCompleto     ' Leemos una linea completa
  10.  Registro = Registro + 1             ' Contador de Registros leidos
  11.  ' De este modo no tiene importancia los campos contenidos en el Registro
  12.  If Registro < 6 Then GoTo NoProcesarlo
  13.   ' Aqui puedes aplicar la comparación de Par/Impar, etc
  14.  Dato = Split(RegistroCompleto, ";") ' Separamos el registro en un array
  15.  ' Aqui tenemos los siguientes valores
  16.  ' Dato(0) = "Jose"
  17.  ' Dato(1) = "12/04/1980"
  18.  ' Dato(2) = "Madrid"
  19.  ' Dato(3) = "1280"
  20.  ' Otra posible comparación aqui sería con un dato en concreto por ejemplo
  21.  If Dato(0) <> "Jose" Then Goto NoProcesarlo   ' Por supuesto es un ejemplo
  22.  ' Pasamos por ejemplo los datos a nuestras variables
  23.  Nombre = Dato(0)
  24.   ' Verificamos que el valor leido es una fecha para evitar un posible error
  25.  If IsDate(Dato(1)) Then Fecha = CDate(Dato(1))
  26.   Poblacion = Dato(2)
  27.   ' Verificamos que el valor leido es un numero para evitar posibles errores
  28.  If IsNumeric(Dato(3)) Then Importe = CCur(Dato(3))
  29.   ' ...
  30.  ' ...
  31. NoProcesarlo:
  32.   Loop

Si necesitas mas aclaraciones las comentamos.

Saludos
__________________
Agradecer a quien te enseñó, es enseñar lo que de él aprendiste.
Recuerda: Decir gracias, poco cuesta y mucho vale ...