1
这里是我读取一个名为interact.csv的巨大文件(超过15个GiB)的代码,并对每行进行一些检查并根据检查结果将交互文件拆分为两个单独的文件:test.csv和trains.csv。Python快速读取和写入文件
我的机器停下来需要两天以上的时间。有什么办法可以使这种代码更快,也许使用某种并行性?
target_items: a list containing some item IDs
目前的方案:
with open(interactions) as interactionFile, open("train.csv", "wb") as train, open("test.csv", "wb") as test:
header=interactionFile.next();
train.write(header+'\n')
test.write(header+'\n')
i=0
for row in interactionFile:
# process each row
l = row.split('\t')
if l[1] in target_items:
test.write(row+'\n')
else:
train.write(row+'\n')
print(i)
i+=1
是'target_items'长列表吗?如果这是一个大的列表,你可以通过将其转换为一个集合来获得显着的加速。 – roganjosh
尝试学习hadoop。并行处理是它的核心功能 –
它包含15000个元素。 – HimanAB