Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 22-05-2004
pablo73 pablo73 is offline
Registrado
 
Registrado: may 2004
Posts: 2
Poder: 0
pablo73 Va por buen camino
Question Leer un fichero csv con campos separados por puntos y comas.

Hola!

Tengo un fichero csv con campos separados por puntos y comas y necesito insertarlo en una tabla.
¿sabéis si existe alguna función parecida a la CommaText de un TStringList, pero que utilice como separador los puntos y comas?
¿o sabéis alguna otra forma de hacerlo?

Muchas gracias y un saludo.
Responder Con Cita
  #2  
Antiguo 22-05-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Poder: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
El mismo StringList tiene la propiedad DelimitedText para tratar archivos con otros separadores. Si no mal recuerdo, especifcas el delimitador en la propiedad Delimiter.

// Saludos
Responder Con Cita
  #3  
Antiguo 24-05-2004
pablo73 pablo73 is offline
Registrado
 
Registrado: may 2004
Posts: 2
Poder: 0
pablo73 Va por buen camino
Muchas gracias.
Responder Con Cita
  #4  
Antiguo 18-03-2020
aprendiz_delphi aprendiz_delphi is offline
Registrado
 
Registrado: mar 2020
Posts: 4
Poder: 0
aprendiz_delphi Va por buen camino
Lo estoy usando pero no funciona correctamente, cuando hay espacios en blanco.
TEXTO1;TEXTO 2;TEXTO3

Al cargar el tstringlist me pone 4 elementos
TEXTO1
TEXTO
2
TEXTO3
Responder Con Cita
  #5  
Antiguo 18-03-2020
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Usa la función ExtractStrings.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #6  
Antiguo 19-03-2020
bucanero bucanero is offline
Miembro
 
Registrado: nov 2013
Ubicación: Almería, España
Posts: 208
Poder: 11
bucanero Va camino a la fama
Hola!!

puedes realizar la separación de la cadena con un TStringList pero tienes que poner a true el parametro StrictDelimiter, que te eliminara las comillas envolventes del texto y solo realiza el corte en el delimitador.

Aquí te dejo un ejemplo simple de uso:

Código Delphi [-]
var
  parser: TStrings;
  i, j:Integer;
begin
  with TStringList.Create do
  try
    // lee los datos del fichero.
    // se podria utilizar cualquier otra metodo que lea linea  a linea
    LoadFromFile('c:\tmp\test_csv.csv');
    try
      parser := TStringList.Create;
      parser.StrictDelimiter := True;
      parser.Delimiter := ';';
      // recorre cada linea del fichero y extrae el valor de los campos
      for i := 0 to count - 1 do begin
        parser.DelimitedText := strings[i];
        Memo1.Lines.AddStrings(parser);
        Memo1.Lines.Add('');
      end;
    finally
      parser.free
    end;
  finally
    free;
  end;

Para leer un CSV relativamente simple te puede servir, si por el contrario las cadenas del CSV contienen saltos de linea o cosas mas complejas, entonces este método se queda corto y puede llegar a no ser valido
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 05:01:29.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi