Быстрая обработка CSV файла

Материал из DRKB

Быстрая обработка CSV файла[править | править код]

Классы Tstrings/TStringlist имеют свойство commatext, которое автоматически разделяет строки, содержащие разделители, на отдельные части. Пример показывает как считать CSV файл. В Конечном итоге, автоматически разделённые строки содержатся в TStringlist.

var
  ts: TStringList;
  S: string;
  Tf: TextFile;
begin
  Ts := TStringList.Create;
  AssignFile(tf, 'filename');
  Reset(tf);
  while not eof(tf) do
  begin
    Readln(tf, S);
    Ts.CommaText := S;
    //ProcessLine;
  end;
  CloseFile(tf);
  ts.Free;
end;


Так же операцию можно производить в обратном порядке.

Свойство Commatext поддерживает разделители как в виде запятых, так и двойных кавычек: 1,2,3,4 и "1","2","3","4"

Например, строка вида "1","2,3","4" будет разделена на три элемента, которые заключены в кавычки (средняя запятая будет проигнорирована). Чтобы включить кавычку в конечный результ, нужно поставить две кавычки подряд: "1",""2" (результат будет 1 и "2 ).


Source: Взято с http://delphiworld.narod.ru
ID: 02966