Spanish Leer y modificar extensión CSV o TXT

Luis_FY

Member
Licensed User
Longtime User
Saludos amigos, tengo una duda para generar una aplicación en B4A con las siguientes características.
- Abrir un archivo CSV o TXT.
- Crear un Archivo CSV o TXT.
- Editar el archivo para poder guardar información y leer la información actual.

Hasta ahorita solo he podido tratar de abrir un archivo desde una ubicación con la herramienta
Sub Btn_AP_Click
Ubica.Show("*/*", "Choose File")
End Sub
Pero cuando tengo el documento cargado en Ubica no se que hacer con ella como cargarla en alguna variable o tal vez desde la forma en buscar el documento estoy mal.
 

josejad

Expert
Licensed User
Longtime User
Hola Luis:

Dinos algo más de tu aplicación. Cómo vas a recibir ese CSV? Vas a usar siempre ese CSV para guardar información a lo largo del tiempo?

Me explico, si es simplemente que vas a tener un CSV, y quieres hacer algo con esos datos, usa esta librería:


Si vas a usar esos datos en el tiempo, exportarlos de vez en cuando, modificarlos, etc... creo que es más adecuado importarlos a SQLite en el móvil y trabajar con la base de datos. Si alguna vez quieres pasar esos datos a algún sitio, puedes volver a exportarlos como csv para pasarle el archivo a alguien.

Con este ejemplo, puedes importar tu CSV a una base de datos SQLite:


Y por ejemplo, con B4XTable puedes leer los datos, modificarlos, guardarlos, etc...


Aquí tienes un ejemplo para modificar los datos, y exportarlos a CSV


Cuando ya tengas una idea clara de cómo vas a querer hacer tu aplicación, ya abres un hilo cuando tengas algún problema específico. Por ejemplo, si al final lo haces con el último ejemplo y encuentras un error, pues en vez de seguir en este hilo con mil dudas, abres uno nuevo del tipo: "Error al exportar CSV desde una B4XTable", y expones tu código o un pequeño ejemplo para que sea más fácil ayudarte.

Ánimo y suerte con tu APP
 
Upvote 0

Luis_FY

Member
Licensed User
Longtime User
El problema es que no puedo cargar el CSV a una variable para poder editarlo como dice en la ayuda de Files y StringUtils. cuando trato de cargar un .csv la aplicación se cierra.

B4X:
Sub Ubica_Result (Success As Boolean, Dir As String, FileName As String)
    
    Dim su As StringUtils
    Dim Table As List
    Dim url, encodedUrl As String
    encodedUrl = su.EncodeUrl(url, "UTF8")
    
    If Success = True Then
        ToastMessageShow(FileName,True)
        Table = su.LoadCSV(File.DirAssets,"prueba2.csv",",")
        N_P.Text = FileName
    Else
        ToastMessageShow("No Success :(",True)
    End If
'    Log(Table2.Get(0))
End Sub


He tratado de usar la función LoadCSV y no puedo. o no se de que manera seleccionar el archivo que quiero editar, como tal no necesito abrir sola acceder a editar las celdas.
 
Upvote 0

josejad

Expert
Licensed User
Longtime User
Hola Luis:

Nos haces más fácil ayudar si nos indicas el error que recibes cuando la app se cierra. E incluso más sencillo aún si subes tu proyecto de forma que se pueda probar con él. (si es un proyecto con Activity, puedes usar "Archivo->Exportar como zip", si es un proyecto B4XPages, con el que te recomiendo que empieces, pulsa Control a la vez que el enlace que hay en B4XMainPage ide://run?=&File=%B4X%\Zipper.jar&Args=SEMIGest.zip)
A veces, simplemente poniendo el error que recibes en el buscador, puedes encontrar una solución, por ejemplo:

 
Upvote 0
Top