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 字符串操作方法大全
Mar 11 Python
python基础教程之自定义函数介绍
Aug 29 Python
在Django的URLconf中使用多个视图前缀的方法
Jul 18 Python
Python 提取dict转换为xml/json/table并输出的实现代码
Aug 28 Python
利用matplotlib+numpy绘制多种绘图的方法实例
May 03 Python
无法使用pip命令安装python第三方库的原因及解决方法
Jun 12 Python
python3.5安装python3-tk详解
Apr 26 Python
tensorflow 重置/清除计算图的实现
Jan 19 Python
Python中pyecharts安装及安装失败的解决方法
Feb 18 Python
使用Python防止SQL注入攻击的实现示例
May 21 Python
Python实现我的世界小游戏源代码
Mar 02 Python
这样写python注释让代码更加的优雅
Jun 02 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 htmlspecialchars加强版
2010/02/16 PHP
PHP+jQuery实现自动补全功能源码
2013/05/15 PHP
php检测网页是否被百度收录的函数代码
2013/10/09 PHP
PHP将XML转数组过程详解
2013/11/13 PHP
PHP使用递归方式列出当前目录下所有文件的方法
2015/06/02 PHP
PHP实现对图片的反色处理功能【测试可用】
2018/02/01 PHP
php输出控制函数和输出函数生成静态页面
2019/06/27 PHP
laravel 去掉index.php伪静态的操作方法
2019/10/12 PHP
浏览器无法运行JAVA脚本的解决方法
2008/01/09 Javascript
JS 巧妙获取剪贴板数据 Excel数据的粘贴
2009/07/09 Javascript
jQuery AJAX实现调用页面后台方法和web服务定义的方法分享
2012/03/01 Javascript
jQuery对象的selector属性用法实例
2014/12/27 Javascript
原生javascript实现图片弹窗交互效果
2015/01/12 Javascript
js实现点击图片将图片地址复制到粘贴板的方法
2015/02/16 Javascript
javascript中判断json的方法总结
2015/08/27 Javascript
jQuery实现文本框邮箱输入自动补全效果
2015/11/17 Javascript
再谈javascript注入 黑客必备!
2016/09/14 Javascript
详解JavaScript跨域总结与解决办法
2016/10/31 Javascript
使用weixin-java-miniapp配置进行单个小程序的配置详解
2019/03/29 Javascript
使用nodejs分离html文件里的js和css详解
2019/04/12 NodeJs
Vue 进阶之路(三)
2019/04/18 Javascript
Node.js在图片模板上生成二维码图片并附带底部文字说明实现详解
2019/08/07 Javascript
[06:45]DOTA2-DPC中国联赛 正赛 Magma vs LBZS 选手采访
2021/03/11 DOTA
pycharm 使用心得(三)Hello world!
2014/06/05 Python
学习Python爬虫的几点建议
2020/08/05 Python
Pycharm自动添加文件头注释和函数注释参数的方法
2020/10/23 Python
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
2013/05/03 面试题
进修护士自我鉴定
2013/10/14 职场文书
党支部公开承诺践诺书
2014/03/28 职场文书
厨房管理计划书
2014/04/27 职场文书
2015建军节87周年演讲稿
2015/03/19 职场文书
2015年劳动部工作总结
2015/05/23 职场文书
2015年音乐教学工作总结
2015/07/22 职场文书
长辈生日祝福语大全(72句)
2019/08/09 职场文书
Python干货实战之八音符酱小游戏全过程详解
2021/10/24 Python
详细介绍python操作RabbitMq
2022/04/12 Python