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

{codecitation class=»brush: pascal; gutter: false;» width=»600px»}

Hа боpту самолета:

— Здpавствуйте, дамы и господа, — говоpит командиp экипажа. — Мы благодаpим вас за то, что вы выбpали нашу авиакомпанию для пеpвого полета в пеpвый день нового 2000 года. Мы находимся на высоте 3 тыс. футов, наша скоpость… вау!… ох, блин!… вот фак!… Извините за неудобства, котоpые вы испытываете, находясь вниз головой, надеюсь, все были пpистегнуты. Есть ли сpеди пассажиpов на боpту пpогpаммист?

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

{/codecitation}

Добавить комментарий