mhe*_*all 0 python csv sorting windows-server-2008
我有一些大的(20GB +)CSV文件是双引号"文本限定,我需要排序并输出到一个新文件.
有些文件只是按数字排序在一列上,而其他文件在两列上排序,第一列是数字,第二列是字符串.
到目前为止,我已经尝试过Pythons csv sort,它失败了,因为它最终耗尽了内存.还有CoreUtils for Windows,虽然排序似乎没有处理文本限定符并给出不正确的结果.
是否有任何推荐/现有的解决方案可以处理这种类型?平台是Windows Server 2008 R2.
在这里你需要一些外部排序技巧.我们的想法是创建较小的排序文件,然后逐个排序并保存在新文件中.这是一个快速摘要.

因此,当您继续迭代块并且一直保持排序时,RESULT会逐渐增长.迭代结束后,此文件是最终排序的CSV.
您可以尝试多种算法变体以满足您的需求.有关详细信息,请查看https://en.wikipedia.org/wiki/External_sorting.
因此,我能够在一台8GB机器上在2-3小时内对40GB文件进行排序,该机器还运行了其他几个进程.