有一个很大的CSV文件(第一行作为标题),现在我想要100个样本(line_num%100例如),如何有效地使用主内存约束?
将文件分成100个较小的一个.或者每1/100行作为子文件1,每2/100行作为子文件2,...,每100/100行作为文件100.获得100个大小约600的文件M.
没有获得100行或1/100大小的样本.
我试着像这样执行:
fi = [open('split_data//%d.csv'%i,'w') for i in range(100)]
i = 0
with open('data//train.csv') as fin:
first = fin.readline()
for line in fin:
fi[i%100].write(line)
i = i + 1
for i in range(100):
fi[i].close()
Run Code Online (Sandbox Code Playgroud)
但是文件太大而无法运行它有限的内存,如何处理呢?我想用一轮〜来做
(我的代码有效,但它消耗了太多时间,我错误地认为它崩溃了,对不起~~)