一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

Python怎么使用defaultdict读取文件各列

时间:2017-05-14 编辑:简简单单 来源:一聚教程网

本文实例讲述了Python使用defaultdict读取文件各列的方法。分享给大家供大家参考,具体如下:

 

 代码如下复制代码

#!/usr/bin/python

"""USAGE: python *.py align_SNP_site out_file"""

importsys

#import time

fromcollectionsimportCounter

#t0=time.clock()

info=open(sys.argv[1])

fast=sys.argv[2]

d_c={}

d1={}

d2={}

forlineininfo:

    cols=line.strip().split("\t")

    ifcols[0]=="SNP pattern":

        continue

    else:

        d1.setdefault(cols[4],[]).append(cols[1])

        d2.setdefault(cols[7],[]).append(cols[1])

    #d1.setdefault(cols[0],[]).append(cols[5])

    #d2[cols[0]] = "\t".join(cols[0:3])

info.close()

printlen(d1)

printlen(d2)

my_list=[]

ref_fa=open("some_example.fasta",'r')

foriinref_fa.readlines():

    ifi.startswith(">"):

        my_list.append(i.rstrip())

ref_fa.close()

printlen(my_list)

#sys.exit()

result=open(fast,'w')

fork,vind1.iteritems():

    cnt1=Counter(v)

    #print cnt1

    result.write("%s\t"%k)

    foriinsorted(cnt1.items(), key=lambdax: x[1], reverse=True):

        result.write("%s\t%d\t"%(i[0],i[1]))

    result.write("\n")

fork,vind2.iteritems():

    cnt2=Counter(v)

    #print cnt2

    result.write("%s\t"%k)

    foriinsorted(cnt2.items(), key=lambdax: x[1], reverse=False):

        result.write("%s\t%d\t"%( i[0],i[1]))

    result.write("\n")

#t1=time.clock()

#print (t1-t0)

 

热门栏目