Python使用defaultdict读取文件各列的方法
本文实例讲述了Python使用defaultdict读取文件各列的方法。分享给大家供大家参考,具体如下:
#!/usr/bin/python
"""USAGE:python*.pyalign_SNP_siteout_file"""
importsys
#importtime
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]=="SNPpattern":
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)
#printcnt1
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)
#printcnt2
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)
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python文件与目录操作技巧汇总》、《Python文本文件操作技巧汇总》、《PythonURL操作技巧总结》、《Python图片操作技巧总结》、《Python数据结构与算法教程》、《PythonSocket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。