我正在运行一直为我工作的代码。这次我在2个.csv文件上运行它:“data”(24 MB)和“data1”(475 MB)。 “数据”每列有大约680000个元素的3列,而“data1”有3列,每列33000000个元素。当我运行代码时,经过大约5分钟的处理之后,我得到了“Killed:9”。如果这是一个内存问题,如何解决它?任何建议是值得欢迎的!Python Killed:9使用从2 csv文件创建的字典运行代码时
这是代码:
import csv
import numpy as np
from collections import OrderedDict # to save keys order
from numpy import genfromtxt
my_data = genfromtxt('data.csv', dtype='S',
delimiter=',', skip_header=1)
my_data1 = genfromtxt('data1.csv', dtype='S',
delimiter=',', skip_header=1)
d= OrderedDict((rows[2],rows[1]) for rows in my_data)
d1= dict((rows[0],rows[1]) for rows in my_data1)
dset = set(d) # returns keys
d1set = set(d1)
d_match = dset.intersection(d1) # returns matched keys
import sys
sys.stdout = open("rs_pos_ref_alt.csv", "w")
for row in my_data:
if row[2] in d_match:
print [row[1], row[2]]
的 “数据” 标题是:
dbSNP RS ID Physical Position
0 rs4147951 66943738
1 rs2022235 14326088
2 rs6425720 31709555
3 rs12997193 106584554
4 rs9933410 82323721
5 rs7142489 35532970
的 “数据1” 标题是:
V2 V4 V5
10468 TC T
10491 CC C
10518 TG T
10532 AG A
10582 TG T
你是在自己的计算机上还是在某台服务器上运行它?如果它运行在服务器上,可能有一些脚本监视“流氓”的进程,在一段时间后调用'kill -9'。 –
嗨@tobias_k,我在自己的笔记本电脑上运行它 – Lucas
在标准输出中,或者在一个异常信息中,你如何获得“杀死:9”? –