从CSV文件中排序非常大的表

时间:2018-02-12 03:23:42

标签: python r csv sorting

我从表中有大约1亿行。该表有几列,但重要的列是3.我们可以说列colAcolBcolC

我想对按colCcolA分组的colB个值进行排序。

所以,例如:

colA    colB    colC
A       B       1
C       A       3
C       B       1
B       C       5
A       B       2
C       B       8

我希望结果是:

colA    colB    colC
A       B       1
A       B       2
B       C       5
C       A       3
C       B       1
C       B       8

想象一下,大约有10,000个colA值和2000个colB值,总行数可以达到100,000,000行。

如何有效地使用R或python对其进行排序?

其他信息:

我的电脑有10个内核和62 GB可用内存。

1 个答案:

答案 0 :(得分:3)

这在data.table

中非常简单
fread("csv-file.csv", select = c("colA", "colB", "colC"), key = c("colA", "colB", "colC"))

截至2018年2月,fread的开发版本比稳定版本快得多:https://github.com/Rdatatable/data.table/wiki/Installation