И это, ты что, не видел цсв с переводами строк (разделитель рядов) внутри двойных кавычек? Ну так я видел — считается валидным, так же как и запятая (разделитель колонок).
зачем маллочишь так много, а если файл паругиговый?
Так много — это как? У меня стояла задача не тупо, а с фильтром обработать, потому для пересортировки столбцов надо вначале строку всю и поместить в память. После вывода строки (если полностью не отфильтровалось) память освобождается. Если у вас одна строка гиговая, то как потом вы это смотреть будете?