У меня есть файлы CSV, которые отсортированы по нескольким столбцам. Например, я мог бы иметь такие строки:Разделить большой текстовый файл csv на основе значения столбца
19980102,,PLXS,10032,Q,A,,,15.12500,15.00000,15.12500,2
19980105,,PLXS,10032,Q,A,,,14.93750,14.75000,14.93750,2
19980106,,PLXS,10032,Q,A,,,14.56250,14.56250,14.87500,2
20111222,,PCP,63830,N,A,,,164.07001,164.09000,164.12000,1
20111223,,PCP,63830,N,A,,,164.53000,164.53000,164.55000,1
20111227,,PCP,63830,N,A,,,165.69000,165.61000,165.64000,1
Я хотел бы разделить файл на основе 3-го столбца, например, помещать записи PLXS и PCP в свои собственные файлы, называемые PLXS.csv и PCP.csv. Поскольку файл предварительно отсортирован, все записи PLXS находятся перед входами PCP и так далее.
Я вообще делаю такие вещи, как это на C++, так как это язык, который я знаю лучше всего, но в этом случае мой входной файл CSV составляет несколько гигабайт и слишком большой для загрузки в память на C++.
Может ли кто-нибудь показать, как это можно сделать? Решения Perl/Python/php/bash все в порядке, они просто должны иметь возможность обрабатывать огромный файл без чрезмерного использования памяти.
ты просмотрел вокруг на всех? несколько связанных вопросов на этом сайте на всех вышеперечисленных языках и многое другое. вы можете искать: 'site: stackoverflow.com csv split by value' или какой-то такой вариант. удачи – bernie