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实现矩阵乘法的方法
Jun 28 Python
python动态加载包的方法小结
Apr 18 Python
微信跳一跳python代码实现
Jan 05 Python
Python 利用切片从列表中取出一部分使用的方法
Feb 01 Python
利用python将图片版PDF转文字版PDF
May 03 Python
Python 中的参数传递、返回值、浅拷贝、深拷贝
Jun 25 Python
基于Python新建用户并产生随机密码过程解析
Oct 08 Python
Python for i in range ()用法详解
Sep 18 Python
Python AutoCAD 系统设置的实现方法
Apr 01 Python
解决django无法访问本地static文件(js,css,img)网页里js,cs都加载不了
Apr 07 Python
Python如何在单元测试中给对象打补丁
Aug 03 Python
Python使用urlretrieve实现直接远程下载图片的示例代码
Aug 17 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
php截取字符串并保留完整xml标签的函数代码
2013/02/06 PHP
PHP中auto_prepend_file与auto_append_file用法实例分析
2014/09/22 PHP
php实现的返回数据格式化类实例
2014/09/22 PHP
PHP实现GIF图片验证码
2015/11/04 PHP
PHP文件上传处理案例分析
2016/10/15 PHP
写了一个layout,拖动条连贯,内容区可为iframe
2007/08/19 Javascript
不用ajax实现点击文字即可编辑的方法
2007/12/16 Javascript
javascript textContent与innerText的异同分析
2010/10/22 Javascript
javascript如何创建对象
2016/08/29 Javascript
JavaScript设计模式之单体模式全面解析
2016/09/09 Javascript
浅谈js原生拖放
2016/11/21 Javascript
Node.js利用Net模块实现多人命令行聊天室的方法
2016/12/23 Javascript
ES6字符串模板,剩余参数,默认参数功能与用法示例
2017/04/06 Javascript
JavaScript脚本语言是什么_动力节点Java学院整理
2017/06/26 Javascript
vue 自动化路由实现代码
2019/09/03 Javascript
详解小程序如何动态绑定点击的执行方法
2019/11/26 Javascript
Node.js控制台彩色输出的方法与原理实例详解
2019/12/01 Javascript
JavaScript代码压缩工具UglifyJS和Google Closure Compiler的基本用法
2020/04/13 Javascript
原生js拖拽功能制作滑动条实例代码
2021/02/05 Javascript
使用Python进行新浪微博的mid和url互相转换实例(10进制和62进制互算)
2014/04/25 Python
python使用Flask框架获取用户IP地址的方法
2015/03/21 Python
用Python实现换行符转换的脚本的教程
2015/04/16 Python
使用PDB简单调试Python程序简明指南
2015/04/25 Python
Python实现自动添加脚本头信息的示例代码
2016/09/02 Python
python中使用PIL制作并验证图片验证码
2018/03/15 Python
Python操作配置文件ini的三种方法讲解
2019/02/22 Python
解决Python内层for循环如何break出外层的循环的问题
2019/06/24 Python
pytorch在fintune时将sequential中的层输出方法,以vgg为例
2019/08/20 Python
Python3运算符常见用法分析
2020/02/14 Python
应届毕业生求职自荐书
2014/01/03 职场文书
2014年小学元旦活动方案
2014/02/12 职场文书
干部培训工作总结2015
2015/05/25 职场文书
教师师德工作总结2015
2015/07/22 职场文书
员工安全责任协议书
2016/03/22 职场文书
Nginx下配置Https证书详细过程
2021/04/01 Servers
解决pycharm下载库时出现Failed to install package的问题
2021/09/04 Python