您应该使用操作系统排序命令。通常只是
sort myfile
接着是一些神秘的开关。这些命令通常适用于大文件,并且通常可以选择在其他物理硬盘上指定临时存储。请参阅此 previous question 和 Windows sort 命令 "man" page。由于 Windows 排序不足以解决您的特定排序问题,您可能需要使用 GNU coreutils,它将 linux sort 的强大功能带到 Windows。
解决方案
这是您需要做的。
- 下载GNU Coreutils Binaries ZIP并将
sort.exe从bin文件夹解压到你机器上的某个文件夹,例如你要排序的文件所在的文件夹。
- 下载GNU Coreutils Dependencies 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
见more command options here。如果这是您想要的,请不要忘记使用-o 开关提供输出文件,如下所示:
sort.exe yourfile.csv -t, -g -o sorted.csv