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实现简单的TCP代理服务器
Oct 08 Python
Python字符串替换实例分析
May 11 Python
python基于ID3思想的决策树
Jan 03 Python
Tensorflow 自带可视化Tensorboard使用方法(附项目代码)
Feb 10 Python
对python numpy数组中冒号的使用方法详解
Apr 17 Python
pytorch中tensor的合并与截取方法
Jul 26 Python
Django model select的多种用法详解
Jul 16 Python
django中上传图片分页三级联动效果的实现代码
Aug 30 Python
Python字符串和正则表达式中的反斜杠('\')问题详解
Sep 03 Python
使用keras实现孪生网络中的权值共享教程
Jun 11 Python
python怎么对数字进行过滤
Jul 05 Python
python如何构建mock接口服务
Jan 28 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
Get或Post提交值的非法数据处理
2006/10/09 PHP
PHP syntax error, unexpected $end 错误的一种原因及解决
2008/10/25 PHP
处理(php-cgi.exe - FastCGI 进程超过了配置的请求超时时限)的问题
2013/07/03 PHP
php判断数组元素中是否存在某个字符串的方法
2014/06/14 PHP
PHP内置的Math函数效率测试
2014/12/01 PHP
计算世界完全对称日的js代码,粗糙版
2011/11/04 Javascript
js父页面与子页面不同时显示的方法
2014/10/16 Javascript
javascript自定义in_array()函数实现方法
2015/08/03 Javascript
jQuery实现从身份证号中获取出生日期和性别的方法分析
2016/02/25 Javascript
Javascript实现苹果悬浮虚拟按钮
2016/04/10 Javascript
Bootstrap与KnockoutJs相结合实现分页效果实例详解
2016/05/03 Javascript
深入理解JavaScript中的并行处理
2016/09/22 Javascript
纯js仿淘宝京东商品放大镜功能
2017/03/02 Javascript
Webpack中css-loader和less-loader的使用教程
2017/04/27 Javascript
vue v-model表单控件绑定详解
2017/05/17 Javascript
pm2发布node配置文件ecosystem.json详解
2019/05/15 Javascript
ES6模板字符串和标签模板的应用实例分析
2019/06/25 Javascript
微信小程序单选框自定义赋值
2020/05/26 Javascript
前端性能优化建议
2020/09/17 Javascript
python发送邮件的实例代码(支持html、图片、附件)
2013/03/04 Python
Python中使用PIL库实现图片高斯模糊实例
2015/02/08 Python
python实现线程池的方法
2015/06/30 Python
python基于BeautifulSoup实现抓取网页指定内容的方法
2015/07/09 Python
Python Selenium 之数据驱动测试的实现
2019/08/01 Python
python os.fork() 循环输出方法
2019/08/08 Python
使用Python完成15位18位身份证的互转功能
2019/11/06 Python
python绘图pyecharts+pandas的使用详解
2020/12/13 Python
HTML5到底会有什么发展?HTML5的前景展望
2015/07/07 HTML / CSS
简短的公司员工自我评价分享
2013/11/13 职场文书
土地租赁意向书
2014/07/30 职场文书
就业协议书盖章的注意事项
2014/09/28 职场文书
公司处罚决定书
2015/06/24 职场文书
pytorch 实现在测试的时候启用dropout
2021/05/27 Python
关于JavaScript 中 if包含逗号表达式
2021/11/27 Javascript
springboot集成redis存对象乱码的问题及解决
2022/06/16 Java/Android
Python安装及建立虚拟环境的完整步骤
2022/06/25 Servers