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使用range函数计算一组数和的方法
May 07 Python
python中列表和元组的区别
Dec 18 Python
python 类对象和实例对象动态添加方法(分享)
Dec 31 Python
python实现将excel文件转化成CSV格式
Mar 22 Python
Python堆排序原理与实现方法详解
May 11 Python
python实现剪切功能
Jan 23 Python
python 实现一次性在文件中写入多行的方法
Jan 28 Python
Python单元和文档测试实例详解
Apr 11 Python
Python生成rsa密钥对操作示例
Apr 26 Python
python GUI库图形界面开发之PyQt5多行文本框控件QTextEdit详细使用方法实例
Feb 28 Python
基于django和dropzone.js实现上传文件
Nov 24 Python
pytorch Dropout过拟合的操作
May 27 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下实现在指定目录搜索指定类型文件的函数
2008/10/03 PHP
用PHP实现递归循环每一个目录
2010/08/08 PHP
php使HTML标签自动补全闭合函数代码
2012/10/04 PHP
解析thinkphp中的M()与D()方法的区别
2013/06/22 PHP
PHP延迟静态绑定示例分享
2014/06/22 PHP
discuz目录文件资料汇总
2014/12/30 PHP
php通过exif_read_data函数获取图片的exif信息
2015/05/21 PHP
php计算年龄精准到年月日
2015/11/17 PHP
Yii框架分页技术实例分析
2019/08/30 PHP
超清晰的document对象详解
2007/02/27 Javascript
json 实例详细说明教程
2009/10/31 Javascript
jquery选择器、属性设置用法经验总结
2013/09/08 Javascript
javascript生成随机大小写字母的方法
2014/02/20 Javascript
Javascript window对象详解
2014/11/12 Javascript
jQuery添加和删除指定标签的方法
2015/12/16 Javascript
easyUI下拉列表点击事件使用方法
2017/05/18 Javascript
JS移动端/H5同时选择多张图片上传并使用canvas压缩图片
2017/06/20 Javascript
深入理解ES6学习笔记之块级作用域绑定
2017/08/19 Javascript
浅谈Vuex的状态管理(全家桶)
2017/11/04 Javascript
layui的数据表格+springmvc实现搜索功能的例子
2019/09/28 Javascript
Vue(定时器)解决mounted不能获取到data中的数据问题
2020/07/30 Javascript
[46:58]完美世界DOTA2联赛PWL S3 Forest vs LBZS 第一场 12.17
2020/12/19 DOTA
利用python生成一个导出数据库的bat脚本文件的方法
2016/12/30 Python
python 3.6 +pyMysql 操作mysql数据库(实例讲解)
2017/12/20 Python
在Python中将函数作为另一个函数的参数传入并调用的方法
2019/01/22 Python
django之自定义软删除Model的方法
2019/08/14 Python
Pytorch Tensor的统计属性实例讲解
2019/12/30 Python
Python写出新冠状病毒确诊人数地图的方法
2020/02/12 Python
基于matplotlib xticks用法详解
2020/04/16 Python
html5 video标签屏蔽右键视频另存为的js代码
2013/11/12 HTML / CSS
2019年年中工作总结讲话稿模板
2019/03/25 职场文书
《水浒传》读后感3篇(范文)
2019/09/19 职场文书
用position:sticky完美解决小程序吸顶问题的实现方法
2021/04/24 HTML / CSS
javascript canvas实现雨滴效果
2021/06/09 Javascript
SQL试题 使用窗口函数选出连续3天登录的用户
2022/04/24 Oracle
浅谈Redis缓冲区机制
2022/06/05 Redis