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魔术方法详解
Feb 14 Python
详解Python爬虫的基本写法
Jan 08 Python
Python 类与元类的深度挖掘 I【经验】
May 06 Python
[原创]Python入门教程5. 字典基本操作【定义、运算、常用函数】
Nov 01 Python
python将一个英文语句以单词为单位逆序排放的方法
Dec 20 Python
python3+selenium实现126邮箱登陆并发送邮件功能
Jan 23 Python
Django框架之登录后自定义跳转页面的实现方法
Jul 18 Python
keras 使用Lambda 快速新建层 添加多个参数操作
Jun 10 Python
python--shutil移动文件到另一个路径的操作
Jul 13 Python
Sentry错误日志监控使用方法解析
Nov 12 Python
浅谈Python列表嵌套字典转化的问题
Apr 07 Python
python非标准时间的转换
Jul 25 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中inlcude()性能对比详解
2012/09/16 PHP
ThinkPHP使用心得分享-上传类UploadFile的使用
2014/05/15 PHP
完美解决Thinkphp3.2中插入相同数据的问题
2017/08/01 PHP
用JavaScript实现仿Windows关机效果
2007/03/10 Javascript
apycom出品的jQuery精美菜单破解方法
2011/02/18 Javascript
File, FileReader 和 Ajax 文件上传实例分析(php)
2011/04/27 Javascript
让图片跳跃起来  javascript图片轮播特效
2016/02/16 Javascript
基于JavaScript实现百叶窗动画效果不只单纯flas可以实现
2016/02/29 Javascript
JavaScript中无法通过div.style.left获取值的解决方法
2017/02/19 Javascript
jQuery插件zTree实现删除树节点的方法示例
2017/03/08 Javascript
jQuery简易时光轴实现方法示例
2017/03/13 Javascript
jquery append与appendTo方法比较
2017/05/24 jQuery
修改 bootstrap table 默认detailRow样式的实例代码
2017/07/21 Javascript
Vue 实现展开折叠效果的示例代码
2018/08/27 Javascript
vue 开发之路由配置方法详解
2019/12/02 Javascript
微信小程序实现二维码签到考勤系统
2020/01/16 Javascript
详解React中共享组件逻辑的三种方式
2021/02/02 Javascript
[01:10]DOTA2亚洲邀请赛 征战号角响彻全场
2015/01/06 DOTA
[10:39]DOTA2上海特级锦标赛音乐会纪录片
2016/03/21 DOTA
Python删除空文件和空文件夹的方法
2015/07/14 Python
Python的Django框架中URLconf相关的一些技巧整理
2015/07/18 Python
详解Python 序列化Serialize 和 反序列化Deserialize
2017/08/20 Python
Python 实现购物商城,含有用户入口和商家入口的示例
2017/09/15 Python
python爬取酷狗音乐排行榜
2019/02/20 Python
解决Python二维数组赋值问题
2019/11/28 Python
python怎么调用自己的函数
2020/07/01 Python
巧用CSS3的calc()宽度计算做响应模式布局的方法
2018/03/22 HTML / CSS
亚马逊印度站:Amazon.in
2017/10/15 全球购物
美体小铺瑞典官方网站:The Body Shop瑞典
2018/01/27 全球购物
Coltorti Boutique官网:来自意大利的设计师品牌买手店
2018/11/09 全球购物
bonprix匈牙利:女士、男士和儿童服装
2019/07/19 全球购物
文明礼仪事迹材料
2014/01/09 职场文书
自荐书范文范例
2014/02/13 职场文书
平安工地汇报材料
2014/08/19 职场文书
学习党的群众路线剖析材料
2014/10/09 职场文书
物业保洁员岗位职责
2015/02/13 职场文书