https://foro.gambas-es.org/viewtopic.php?f=4&t=7940&p=47773#p47773
-----------------------------------
tincho
Viernes, 03 Abril 2020, 17:23

Re: Gb.util.CsvFile
-----------------------------------
Hola Antonio, mira te dejo un método que uso yo para leer y escribir CSV
Antes de nada, que sepas que con File.load(archivo.csv) ya cargas el contenido de un archivo de texto en una variable de tipo texto. Dicho esto este método que uso hace una lista de los renglónes de un archivo y devuelve una matriz de texto.
[code linenumbers=false syntax=gambas]
Public Function FileLoad(strPath As String, Optional bolBL As Boolean) As String[] ''Devuelve una matriz de texto donde cada ítem es un renglón del archivo de texto. Si el renglón esta vacio en el archivo de texto, es decir se trata de unallinea vacia, esta no se pasa a la martiz, por lo tanto el resultado es un retorno sin lineas en blanco.
  
  Dim strList As String
  Dim stxListTmp As New String[]
  Dim stxList As New String[]
  Dim intList As Integer
  
  stxList.Clear
  
  If Exist(strPath) Then
    
    strList = File.Load(strPath)
    
    If InStr(strList, "\n") > -1 Then
      stxListTmp = Split(strList, "\n")
    Else
      If String.Len(strList) > 0 Then
        stxListTmp.Add(strList)
      Endif
    Endif
    
    For intList = 0 To stxListTmp.Max
      Select bolBL
        Case False
          If stxListTmp[intList] <> "" Then
            stxList.Add(stxListTmp[intList])
          Endif
        Case Else
          stxList.Add(stxListTmp[intList])
      End Select
    Next
  Endif
  
  Return stxList
  
End
[/code]
Luego recorres esta variable usando split() para separar según sea el caso de comas, tabuladores espacios etc.
Bien ya tienes la lectura .
La escritura de un CSV se hace, partiendo de una matriz de texto.
[code linenumbers=false syntax=gambas]
File.Save("/ruta/archivo.csv", data.Join(","))
[/code]
Listo eso es todo, no es necesario gambas 3.15 para operar con CSV
Espero te sea de utilidad
Saludos.


