很可能内核会杀死它,因为你的脚本占用了太多的内存.您需要采取不同的方法,并尝试最小化内存中的数据大小.
您可能还会发现这个问题很有用:使用Python和NumPy的非常大的矩阵
在下面的代码片段中,我尝试data1.csv
通过逐行处理来避免将大量内容加载到内存中.试试看.
import csv
from collections import OrderedDict # to save keys order
with open('data.csv', 'rb') as csvfile:
reader = csv.reader(csvfile, delimiter=',')
next(reader) #skip header
d = OrderedDict((rows[2], {"val": rows[1], "flag": False}) for rows in reader)
with open('data1.csv', 'rb') as csvfile:
reader = csv.reader(csvfile, delimiter=',')
next(reader) #skip header
for rows in reader:
if rows[0] in d:
d[rows[0]]["flag"] = True
import sys
sys.stdout = open("rs_pos_ref_alt.csv", "w")
for k, v in d.iteritems():
if v["flag"]:
print [v["val"], k]