Sources
Delphi Russian Knowledge Base
DRKB - это самая большая и удобная в использовании база знаний по Дельфи в рунете, составленная Виталием Невзоровым

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

01.01.2007

Классы 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 ).

Взято с https://delphiworld.narod.ru