我在64位Windows7中使用8GB RAM。
我有一个30GB的文本文件,其中包含一列数字数据。
我必须随机选择5%的线条。 我开始如下:
fi = "data.txt"
lines = fi.read().splitlines()
Memory Error...
你有什么想法,伙计们?
答案 0 :(得分:4)
如果“约5%”对您来说足够好,您可以逐行阅读文件,并为每行提供5%的机会列入您的列表:
import random
result = []
with open("data.txt") as f:
for line in f:
if random.random() < 0.05:
result.append(line)