我需要将一个非常大(3GB)的文件分成十份,分割方式如下:第一次分割在前10%的行和文件的其余部分之间进行,第二次分割在第二个10%的行和文件的其余部分之间进行,以此类推(这是为了进行交叉验证)。
我曾经很幼稚地通过将文件的行加载到列表中,遍历该列表并按其索引将每行写入正确的输出文件中来完成此操作。由于每次写入3GB的数据,这太耗时了。
有更好的方法吗?
注意:在每行开头添加
示例:如果文件是[1,2,3,4,5,6,7,8,9,10],那么我想按以下方式分割:
以及诸如此类的内容
我曾经很幼稚地通过将文件的行加载到列表中,遍历该列表并按其索引将每行写入正确的输出文件中来完成此操作。由于每次写入3GB的数据,这太耗时了。
有更好的方法吗?
注意:在每行开头添加
#
相当于删除它。在开头添加和删除#
是否更明智?示例:如果文件是[1,2,3,4,5,6,7,8,9,10],那么我想按以下方式分割:
[1] and [2,3,4,5,6,7,8,9,10]
[2] and [1,3,4,5,6,7,8,9,10]
[3] and [1,2,4,5,6,7,8,9,10]
以及诸如此类的内容