Ver Mensaje Individual
  #3 (permalink)  
Antiguo 17/10/2010, 10:16
buddyk9
 
Fecha de Ingreso: septiembre-2008
Mensajes: 113
Antigüedad: 15 años, 7 meses
Puntos: 1
Respuesta: leer archivo csv, transformar datos y crear un nuevo csv

Cita:
Iniciado por erbuson Ver Mensaje
Hola, te dejo un ejemplo de como cargar los datos de un CSV en un FlexGrid, que probablemente te ayude o por lo menos te aporte ideas.

Saludos

Me ha salido así, mas o menos lo que yo quería. Pongo el código por si a alguien le es útil.

Hay dos variantes de archivo de salida, una con print y otra con write (da valores separados por comas, pero ojo, con un espacio.... no es un "csv como tal" separado por comas (,) o puntos y coma (;) (no se como conseguir esto)

Por si alguien lo sabe, pregunto como sería posible empezar a leer mi archivo de entrada, por ejemplo, desde la línea 6, no desde la primera línea

¿ y como conseguir que leyese sólo las filas pares desde la fila 6?


Código vb:
Ver original
  1. Sub ReadDelimitedTextFile()
  2.  
  3.       Dim LName As String, FName As String, Addr As String, City As String
  4.       Dim state As String
  5.       Dim age As Integer
  6.  
  7.      
  8.         Open "C:\Archivo1.txt" For Input As #1     ' Abrir el archivo para entrada de datos Input.
  9.    
  10.       ' Read each line of the text file into the list of variables  until the end of the file is reached.
  11.      
  12.       Do While Not (EOF(1))
  13.      
  14.          Input #1, LName, FName, age, Addr, City, state, zip
  15.        
  16. ' Area para trabajar con nuestros datos de los campos LName, FName, age, Addr, City, state, zip
  17. ' por ejemplo, vamos a sumar 5 a todas las edades
  18.  
  19. valor = age+5
  20.  
  21.  Open "C:\Archivo_salida.csv" For Append As #2
  22.  
  23.       Print #2, LName & ", " & FName & ", " & age & ", " & Addr & ", " _
  24.             & City & ", " & state & ", " & zip & ", " & valor
  25.      
  26.  Close #2    'Cerramos el archivo de salida
  27.  
  28. ' Igual pero con la opcion write, da los valores separados por comas y con un espacio
  29.  
  30.  Open "C:\Archivo_salida2.csv" For Append As #1
  31.  
  32.       Write #3, LName, FName, age, Addr, City, state, zip, valor
  33.  
  34.  Close #3 'Cerramos el archivo de salida2
  35.  
  36. Loop
  37.    
  38.       Close #1 'Cerramos el archivo de entrada
  39.            
  40. ' Unos mensajitos para avisar lo que se ha generado
  41. MsgBox "Se ha generado el archivo de salida " & Archivo_salida.csv
  42. MsgBox "Se ha generado el archivo de salida " & Archivo_salida2.csv
  43.          
  44. Unload Form1
  45. End Sub
Un modelo de el Archivo.txt tendría estos datos:
Smith,Juan,22,123 Main St,Nueva York,Argentina,32432
Pérez,Juan,33,324 Elm Avda.,San Diego,CA,23542
Adams,Bill,45,4523 roble CIR.,Miami,FL,52343
Jones,Tom,23,2335 Maple Dr.,Houston,Transmisión,23453

Gracias y saludos,
__________________
Genética animal y veterinaria

Última edición por buddyk9; 17/10/2010 a las 10:48