Cita:
Iniciado por erbuson 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 originalSub ReadDelimitedTextFile()
Dim LName As String, FName As String, Addr As String, City As String
Dim state As String
Dim age As Integer
Open "C:\Archivo1.txt" For Input As #1 ' Abrir el archivo para entrada de datos Input.
' Read each line of the text file into the list of variables until the end of the file is reached.
Do While Not (EOF(1))
Input #1, LName, FName, age, Addr, City, state, zip
' Area para trabajar con nuestros datos de los campos LName, FName, age, Addr, City, state, zip
' por ejemplo, vamos a sumar 5 a todas las edades
valor = age+5
Open "C:\Archivo_salida.csv" For Append As #2
Print #2, LName & ", " & FName & ", " & age & ", " & Addr & ", " _
& City & ", " & state & ", " & zip & ", " & valor
Close #2 'Cerramos el archivo de salida
' Igual pero con la opcion write, da los valores separados por comas y con un espacio
Open "C:\Archivo_salida2.csv" For Append As #1
Write #3, LName, FName, age, Addr, City, state, zip, valor
Close #3 'Cerramos el archivo de salida2
Loop
Close #1 'Cerramos el archivo de entrada
' Unos mensajitos para avisar lo que se ha generado
MsgBox "Se ha generado el archivo de salida " & Archivo_salida.csv
MsgBox "Se ha generado el archivo de salida " & Archivo_salida2.csv
Unload Form1
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,