Python使用defaultdict读取文件各列的方法


Posted in Python onMay 11, 2017

本文实例讲述了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多线程编程(三):threading.Thread类的重要函数和方法
Apr 05 Python
python MySQLdb Windows下安装教程及问题解决方法
May 09 Python
Python 基于Twisted框架的文件夹网络传输源码
Aug 28 Python
Django实现的自定义访问日志模块示例
Jun 23 Python
Python实现嵌套列表及字典并按某一元素去重复功能示例
Nov 30 Python
Python实现多态、协议和鸭子类型的代码详解
May 05 Python
PyTorch笔记之scatter()函数的使用
Feb 12 Python
Python enumerate内置库用法解析
Feb 24 Python
Python基于yield遍历多个可迭代对象
Mar 12 Python
Django实现从数据库中获取到的数据转换为dict
Mar 27 Python
使用OpenCV对车道进行实时检测的实现示例代码
Jun 19 Python
python实现简单猜单词游戏
Dec 24 Python
python中nan与inf转为特定数字方法示例
May 11 #Python
Python和C/C++交互的几种方法总结
May 11 #Python
Python常用时间操作总结【取得当前时间、时间函数、应用等】
May 11 #Python
详解Python读取配置文件模块ConfigParser
May 11 #Python
python如何获取服务器硬件信息
May 11 #Python
浅谈Python基础之I/O模型
May 11 #Python
老生常谈Python进阶之装饰器
May 11 #Python
You might like
实现“上一页”和“下一页按钮
2006/10/09 PHP
PHP不用递归实现无限分级的例子分享
2014/04/18 PHP
PHP判断浏览器、判断语言代码分享
2015/03/05 PHP
PHP实现仿Google分页效果的分页函数
2015/07/29 PHP
vs2003 js文件编码问题的解决方法
2010/03/20 Javascript
js判断IE6/IE7/FF的代码[XMLHttpRequest]
2011/02/16 Javascript
javascript 按键事件(兼容各浏览器)
2013/12/20 Javascript
网页右下角弹出窗体实现代码
2014/06/05 Javascript
jquery使用ul模拟select实现表单美化的方法
2015/08/18 Javascript
jquery验证手机号是否正确实例讲解
2015/11/17 Javascript
使用jQuery监听DOM元素大小变化
2016/02/24 Javascript
用JavaScript动态建立或增加CSS样式表的实现方法
2016/05/20 Javascript
jquery.validate使用详解
2016/06/02 Javascript
web 前端常用组件之Layer弹出层组件
2016/09/22 Javascript
dul无法加载bootstrap实现unload table/user恢复
2016/09/29 Javascript
canvas 画布在主流浏览器中的尺寸限制详细介绍
2016/12/15 Javascript
通过js动态创建标签,并设置属性方法
2018/02/24 Javascript
JS实现json数组排序操作实例分析
2019/10/28 Javascript
element-ui table组件如何使用render属性的实现
2019/11/04 Javascript
Python解析最简单的验证码
2016/01/07 Python
浅析Python 中整型对象存储的位置
2016/05/16 Python
Python利用operator模块实现对象的多级排序详解
2017/05/09 Python
Python实现求解一元二次方程的方法示例
2018/06/20 Python
python实现将多个文件分配到多个文件夹的方法
2019/01/07 Python
Python中使用filter过滤列表的一个小技巧分享
2020/05/02 Python
python文件编写好后如何实践
2020/07/07 Python
Python列表嵌套常见坑点及解决方案
2020/09/30 Python
百思买加拿大:Best Buy Canada
2018/03/20 全球购物
工程概预算专业毕业生求职信
2013/10/04 职场文书
岗位职责定义及内容
2013/11/08 职场文书
服装机修工岗位职责
2013/12/26 职场文书
小学三年级数学教学反思
2014/01/31 职场文书
高中军训感言200字
2014/02/23 职场文书
党的群众路线教育实践活动专题组织生活会发言材料
2014/10/17 职场文书
2014年话务员工作总结
2014/11/19 职场文书
太行山上观后感
2015/06/05 职场文书