Ver Mensaje Individual
  #4  
Antiguo 20-09-2004
Avatar de roman
roman roman is offline
Moderador
 
Registrado: may 2003
Ubicación: Ciudad de México
Posts: 20.269
Reputación: 10
roman Es un diamante en brutoroman Es un diamante en brutoroman Es un diamante en bruto
Cita:
Empezado por Walterdf
Lo que si es fijo es que cada campo va encerrado entre " " y separados por coma.
¿Hay alguna forma de pasar esto a una tabla?
Una opción podría ser usar dos TStringList. Uno para leer todas las líneas del archivo en memoria y el otro para procesar cada línea del primero asignándola a la propiedad CommaText del segundo. Esto te separará los campos en líneas que puedes ya procesar fácilmente para copiar los campos a la tabla destino:

Código Delphi [-]
var
  ArchivoCsv, Campos: TStringList;
  I, J: Integer;

begin
  ArchivoCsv := TStringList.Create;
  Campos := TStringList.Create;

  try
    ArchivoCsv.LoadFromFile('archivo.csv');
    for I := 0 to ArchivoCsv.Count - 1 do
    begin
      Campos.Clear;
      Campos.CommaText := ArchivoCsv[i];
      
      for J := 0 to Table.FieldCount - 1 do
      begin
        Table.Fields[J].Value := Campos[J];
      end;
    end;
  finally
    ArchivoCsv.Free;
    Campos.Free;
  end;
end;

// Saludos
Responder Con Cita