Вы должны использовать команды сортировки ОС.Обычно это просто
sort myfile
, за которыми следуют некоторые мистические переключатели.Эти команды обычно хорошо работают с большими файлами, и часто есть варианты указать временное хранилище на других физических жестких дисках.См. предыдущий вопрос и команду Windows sort
Страница "man" .Поскольку сортировки Windows недостаточно для вашей конкретной проблемы сортировки, вы можете использовать GNU coreutils , которые переносят мощь linux sort
в Windows.
Решение
Вот что вам нужно сделать.
- Загрузите GNU Coreutils Binaries ZIP и извлеките
sort.exe
из папки bin в некоторую папку на вашем компьютере, например, в папку, где находится файл, который будет отсортирован. - Загрузка Зависимости GNU Coreutils ZIP и извлечение обоих файлов
.dll
в одну папку с sort.exe
Теперь при условии, что ваш файл выглядит следующим образом:
1000,1,a,2
99,2,bs,3
1000,3,g,4
66,2,a,3
20,16,3,b
1000,7,c,4
99,1,lz,4
вы можете написать в командной строке:
sort.exe yourfile.csv -t, -g
, что выдаст:
20,16,3,b
66,2,a,3
99,1,lz,4
99,2,bs,3
1000,1,a,2
1000,3,g,4
1000,7,c,4
См. дополнительные параметры команды здесь ,Если это то, что вам нужно, не забудьте предоставить выходной файл с ключом -o
, например:
sort.exe yourfile.csv -t, -g -o sorted.csv