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使用urllib模块开发的多线程豆瓣小站mp3下载器
Jan 16 Python
详解Python中的文件操作
Aug 28 Python
python 迭代器和iter()函数详解及实例
Mar 21 Python
Python优先队列实现方法示例
Sep 21 Python
详解appium+python 启动一个app步骤
Dec 20 Python
Python爬虫常用小技巧之设置代理IP
Sep 13 Python
Python3数字求和的实例
Feb 19 Python
33个Python爬虫项目实战(推荐)
Jul 08 Python
python修改文件内容的3种方法详解
Nov 15 Python
django使用F方法更新一个对象多个对象字段的实现
Mar 28 Python
python执行js代码的方法
May 13 Python
pytorch 实现多个Dataloader同时训练
May 29 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中看实例学正则表达式
2006/12/25 PHP
PHP MYSQL乱码问题,使用SET NAMES utf8校正
2009/11/30 PHP
单一index.php实现PHP任意层级文件夹遍历(Zjmainstay原创)
2012/07/31 PHP
php中call_user_func函数使用注意事项
2014/11/21 PHP
Zend Framework教程之请求对象的封装Zend_Controller_Request实例详解
2016/03/07 PHP
PHP实现阿里大鱼短信验证的实例代码
2017/07/10 PHP
Firefox/Chrome/Safari的中可直接使用$/$$函数进行调试
2012/02/13 Javascript
Jquery显示和隐藏元素或设为只读(含Ligerui的控件禁用,实例说明介绍)
2013/07/09 Javascript
JavaScript实现广告的关闭与显示效果实例
2015/07/02 Javascript
JavaScript动态添加事件之事件委托
2016/07/12 Javascript
8 行 Node.js 代码实现代理服务器
2016/12/05 Javascript
微信小程序实现轮播图效果
2017/09/07 Javascript
jQuery插件artDialog.js使用与关闭方法示例
2017/10/09 jQuery
webpack中CommonsChunkPlugin详细教程(小结)
2017/11/09 Javascript
浅谈Webpack自动化构建实践指南
2017/12/18 Javascript
nodejs简单访问及操作mysql数据库的方法示例
2018/03/15 NodeJs
用Python计算三角函数之atan()方法的使用
2015/05/15 Python
Python实现k-means算法
2018/02/23 Python
python实现日常记账本小程序
2018/03/10 Python
django进阶之cookie和session的使用示例
2018/08/17 Python
Python实现的远程文件自动打包并下载功能示例
2019/07/12 Python
Python学习笔记之文件的读写操作实例分析
2019/08/07 Python
利用OpenCV和Python实现查找图片差异
2019/12/19 Python
Pycharm同步远程服务器调试的方法步骤
2020/11/04 Python
利用CSS3的线性渐变linear-gradient制作边框的示例
2016/06/02 HTML / CSS
美国领先的机场停车聚合商:Airport Parking Reservations
2020/02/28 全球购物
工商企业管理应届生求职信
2013/11/03 职场文书
五年级音乐教学反思
2014/02/06 职场文书
优秀毕业自我鉴定
2014/02/15 职场文书
岗位竞聘演讲稿范文
2014/04/24 职场文书
工伤事故处理协议书怎么写
2014/10/15 职场文书
2014法制宣传日活动总结范文
2014/11/01 职场文书
2014年妇幼卫生工作总结
2014/12/09 职场文书
2016简单的租房合同范本
2016/03/18 职场文书
2019年描写人生经典诗句大全
2019/07/08 职场文书
详解JavaScript的计时器和按钮效果设置
2022/02/18 Javascript