有一個(gè)大文件(795G)共7列,如果第1,2,3,6,7列相同,則,第4,5列的值相加。寫了一個(gè)簡(jiǎn)單的版本,可以實(shí)現(xiàn),但是服務(wù)器內(nèi)存只有200G,讀不進(jìn)去?我的程序代碼如下:#!/usr/bin/python#-*-coding:utf-8-*-__author__='author'__author_email__='xxx@icloud.com'defadd(line,anno):chr,position,strand,methy_read,all_read,methy_nt,nt=line.strip().split()key=(chr,position,strand,methy_nt,nt)ifkeyinanno.keys():anno[key]=map(lambdax,y:x+y,anno[key],(int(methy_read),int(all_read)))ifkeynotinanno.keys():anno[key]=(int(methy_read),int(all_read))returnannowithopen('test.tab','r')asf:dict1={}forlineinf:add(line,dict1)forkey,valueindict1.items():key=list(key)value=list(value)print(*key,*value,sep='\t')
在線等,挺急的!python 優(yōu)化文本處理效率以及優(yōu)化內(nèi)存占用?求指導(dǎo)!
慕斯王
2019-08-13 22:51:12