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 获取文件下所有文件或目录os.walk()的实例
Apr 23 Python
python买卖股票的最佳时机(基于贪心/蛮力算法)
Jul 05 Python
python 魔法函数实例及解析
Sep 25 Python
Python 实现Image和Ndarray互相转换
Feb 19 Python
Pandas实现一列数据分隔为两列
May 18 Python
Python字典fromkeys()方法使用代码实例
Jul 20 Python
Python容器类型公共方法总结
Aug 19 Python
Python列表嵌套常见坑点及解决方案
Sep 30 Python
Python批量获取并保存手机号归属地和运营商的示例
Oct 09 Python
Python如何使用ElementTree解析xml
Oct 12 Python
python opencv检测直线 cv2.HoughLinesP的实现
Jun 18 Python
Django+Celery实现定时任务的示例
Jun 23 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
支持生僻字且自动识别utf-8编码的php汉字转拼音类
2014/06/27 PHP
php强制用户转向www域名的方法
2015/06/19 PHP
PHP实现简易用户登录系统
2020/07/10 PHP
Array.slice()与Array.splice()的返回值类型
2006/10/09 Javascript
JS IE和FF兼容性问题汇总
2009/02/09 Javascript
JAVASCRIPT  THIS详解 面向对象
2009/03/25 Javascript
对于Form表单reset方法的新认识
2014/03/05 Javascript
kindeditor修复会替换script内容的问题
2015/04/03 Javascript
JS实现动态表格的添加,修改,删除功能(推荐)
2016/06/15 Javascript
JS实现图片延迟加载并淡入淡出效果的简单方法
2016/08/25 Javascript
基于JavaScript实现下拉列表左右移动代码
2017/02/07 Javascript
js数字舍入误差以及解决方法(必看篇)
2017/02/28 Javascript
利用JS对iframe父子(内外)页面进行操作的方法教程
2017/06/15 Javascript
Koa 中的错误处理解析
2019/04/09 Javascript
微信公众号生成新浪短网址的实现(快速生成)
2019/08/18 Javascript
Vue中消息横向滚动时setInterval清不掉的问题及解决方法
2019/08/23 Javascript
vue使用showdown并实现代码区域高亮的示例代码
2019/10/17 Javascript
微信小程序中的video视频实现 自定义播放按钮、封面图、视频封面上文案
2020/01/02 Javascript
浅谈Vue3.0新版API之composition-api入坑指南
2020/04/30 Javascript
Vue ElementUI实现:限制输入框只能输入正整数的问题
2020/07/31 Javascript
[02:42]岂曰无衣,与子同袍!DOTA2致敬每一位守护人
2020/02/17 DOTA
Python标准库之循环器(itertools)介绍
2014/11/25 Python
Python中的数据对象持久化存储模块pickle的使用示例
2016/03/03 Python
python构建深度神经网络(DNN)
2018/03/10 Python
浅谈python写入大量文件的问题
2018/11/09 Python
Ubuntu下升级 python3.7.1流程备忘(推荐)
2018/12/10 Python
python3正则提取字符串里的中文实例
2019/01/31 Python
python有序查找算法 二分法实例解析
2020/02/18 Python
详解Python高阶函数
2020/08/15 Python
浅析python连接数据库的重要事项
2021/02/22 Python
彪马加拿大官网:PUMA加拿大
2018/10/04 全球购物
凯普林包包西班牙官网:Kipling西班牙
2019/04/12 全球购物
英语国培研修感言
2014/02/13 职场文书
买房协议书
2014/04/11 职场文书
试用期工作表现自我评价
2015/03/06 职场文书
MySQL 自定义变量的概念及特点
2021/05/13 MySQL