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实现360皮肤按钮控件示例
Feb 21 Python
Python中用pycurl监控http响应时间脚本分享
Feb 02 Python
Python表示矩阵的方法分析
May 26 Python
Python解决抛小球问题 求小球下落经历的距离之和示例
Feb 01 Python
pandas的object对象转时间对象的方法
Apr 11 Python
Python使用re模块实现信息筛选的方法
Apr 29 Python
Python subprocess库的使用详解
Oct 26 Python
python logging 日志的级别调整方式
Feb 21 Python
使用Tensorflow-GPU禁用GPU设置(CPU与GPU速度对比)
Jun 30 Python
Scrapy基于scrapy_redis实现分布式爬虫部署的示例
Sep 29 Python
Python调用飞书发送消息的示例
Nov 10 Python
Python图像处理之图像拼接
Apr 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
如何将一个表单同时提交到两个地方处理
2006/10/09 PHP
用PHP和ACCESS写聊天室(七)
2006/10/09 PHP
如何修改和添加Apache的默认站点目录
2013/07/05 PHP
如何利用http协议发布博客园博文评论
2015/08/03 PHP
Yii框架 session 数据库存储操作方法示例
2019/11/18 PHP
Laravel5.1 框架数据库操作DB运行原生SQL的方法分析
2020/01/07 PHP
JS面向对象、prototype、call()、apply()
2009/05/14 Javascript
zTree插件之多选下拉菜单实例代码
2013/11/06 Javascript
关闭页面window.location事件未执行的原因及解决方法
2014/09/01 Javascript
jquery搜索框效果实现方法
2015/01/16 Javascript
基于Bootstrap仿淘宝分页控件实现代码
2016/11/07 Javascript
JavaScript 控制字体大小设置的方法
2016/11/23 Javascript
浅析jQuery操作select控件的取值和设值
2016/12/07 Javascript
nodeJs链接Mysql做增删改查的简单操作
2017/02/04 NodeJs
Bootstrap面板学习使用
2017/02/09 Javascript
微信小程序获取复选框全选反选选中的值(实例代码)
2019/12/17 Javascript
详解在IDEA中将Echarts引入web两种方式(使用js文件和maven的依赖导入)
2020/07/11 Javascript
JavaScript实现多球运动效果
2020/09/07 Javascript
Python socket.error: [Errno 98] Address already in use的原因和解决方法
2014/08/25 Python
Python入门篇之字典
2014/10/17 Python
Python使用正则表达式抓取网页图片的方法示例
2017/04/21 Python
python 中的list和array的不同之处及转换问题
2018/03/13 Python
Python实现的端口扫描功能示例
2018/04/08 Python
python实现对输入的密文加密
2019/03/20 Python
django rest framework 实现用户登录认证详解
2019/07/29 Python
python Manager 之dict KeyError问题的解决
2019/12/21 Python
pytorch torch.nn.AdaptiveAvgPool2d()自适应平均池化函数详解
2020/01/03 Python
Python变量作用域LEGB用法解析
2020/02/04 Python
Watch Station官方网站:世界一流的手表和智能手表
2020/01/05 全球购物
应届毕业生自荐信
2014/05/28 职场文书
小学感恩教育活动总结
2014/07/07 职场文书
大学生考试作弊检讨书
2014/09/21 职场文书
党员作风建设整改方案
2014/10/27 职场文书
曾国藩励志经典名言37句,蕴含哲理
2019/10/14 职场文书
导游词之清晏园
2019/11/22 职场文书
Java中多线程下载图片并压缩能提高效率吗
2021/07/01 Java/Android