Tema: leer csv
Ver Mensaje Individual
  #5  
Antiguo 18-03-2020
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 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.

Tenes que leer el archivo csv en un TStringList y sabiendo que la primer linea corresponde a la cabecera de columnas, operar en consecuencia.

Ejemplo simplificado usando la tabla Customers.csv (que viene con Delphi)
Código Delphi [-]
...
var
  T1,T2: TStrings;
  i,j: Integer;
begin
  T1 := TStringList.Create;
  try
    T1.LoadFromFile('Customers.csv');
    for i := 1 to T1.Count-1 do
    begin
      T2 := TStringList.Create;
      ExtractStrings([';'], [' '], PChar(T1[i]), T2);
      try
        DataSet.Insert;
        for j := 0 to DataSet.FieldCount-1 do
          DataSet.Fields[j].AsString := StringReplace(T2[j],'"','',[rfReplaceAll]);
        DataSet.Post;
      finally
        T2.Free;
      end;
    end;
  finally
    T1.Free;
  end;
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 18-03-2020 a las 13:54:00. Razón: simplificar codigo
Responder Con Cita