Python使用defaultdict读取文件各列的方法
2019/7/13 23:05:29
本文主要是介绍Python使用defaultdict读取文件各列的方法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
本文实例讲述了Python使用defaultdict读取文件各列的方法。分享给大家供大家参考,具体如下:
#!/usr/bin/python """USAGE: python *.py align_SNP_site out_file""" import sys #import time from collections import Counter #t0=time.clock() info=open(sys.argv[1]) fast=sys.argv[2] d_c = {} d1={} d2={} for line in info: cols=line.strip().split("\t") if cols[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() print len(d1) print len(d2) my_list=[] ref_fa = open("some_example.fasta", 'r') for i in ref_fa.readlines(): if i.startswith(">"): my_list.append(i.rstrip()) ref_fa.close() print len(my_list) #sys.exit() result = open(fast,'w') for k,v in d1.iteritems(): cnt1 = Counter(v) #print cnt1 result.write("%s\t" % k) for i in sorted(cnt1.items(), key = lambda x: x[1], reverse=True): result.write("%s\t%d\t"%(i[0],i[1])) result.write("\n") for k,v in d2.iteritems(): cnt2 = Counter(v) #print cnt2 result.write("%s\t" % k) for i in sorted(cnt2.items(), key = lambda x: 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文本文件操作技巧汇总》、《Python URL操作技巧总结》、《Python图片操作技巧总结》、《Python数据结构与算法教程》、《Python Socket编程技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。
这篇关于Python使用defaultdict读取文件各列的方法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-27Python编程基础教程
- 2024-12-27Python编程基础指南
- 2024-12-24Python编程入门指南
- 2024-12-24Python编程基础入门
- 2024-12-24Python编程基础:变量与数据类型
- 2024-12-23使用python部署一个usdt合约,部署自己的usdt稳定币
- 2024-12-20Python编程入门指南
- 2024-12-20Python编程基础与进阶
- 2024-12-19Python基础编程教程
- 2024-12-19python 文件的后缀名是什么 怎么运行一个python文件?-icode9专业技术文章分享