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运算符重载用法实例
May 28 Python
一个基于flask的web应用诞生 记录用户账户登录状态(6)
Apr 11 Python
理解python中生成器用法
Dec 20 Python
Django数据库类库MySQLdb使用详解
Apr 28 Python
详解Python3 对象组合zip()和回退方式*zip
May 15 Python
Pytorch Tensor的索引与切片例子
Aug 18 Python
基于Python 中函数的 收集参数 机制
Dec 21 Python
MNIST数据集转化为二维图片的实现示例
Jan 10 Python
Tensorflow设置显存自适应,显存比例的操作
Feb 03 Python
python如何进入交互模式
Jul 06 Python
六种酷炫Python运行进度条效果的实现代码
Jul 17 Python
python基于exchange函数发送邮件过程详解
Nov 06 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 上传功能实例代码
2010/04/13 PHP
Thinkphp中数据按分类嵌套循环实现方法
2014/10/30 PHP
如何解决PHP获取不到SESSION信息之一般情况
2019/10/10 PHP
清华大学出版的事半功倍系列 javascript全部源代码
2007/05/04 Javascript
CutePsWheel javascript libary 控制输入文本框为可使用滚轮控制的js库
2010/02/07 Javascript
返回对象在当前级别中是第几个元素的实现代码
2011/01/20 Javascript
jQuery中animate动画第二次点击事件没反应
2015/05/07 Javascript
CSS+JS实现点击文字弹出定时自动关闭DIV层菜单的方法
2015/05/12 Javascript
整理JavaScript创建对象的八种方法
2015/11/03 Javascript
使用nodejs中httpProxy代理时候出现404异常的解决方法
2016/08/15 NodeJs
zTree树形菜单交互选项卡效果的实现方法
2017/12/25 Javascript
微信小程序购物车、父子组件传值及calc的注意事项总结
2018/11/14 Javascript
微信小程序使用map组件实现检索(定位位置)周边的POI功能示例
2019/01/23 Javascript
解决vue项目axios每次请求session不一致的问题
2020/10/24 Javascript
跟老齐学Python之有容乃大的list(2)
2014/09/15 Python
Python守护进程用法实例分析
2015/06/04 Python
Python实现批量读取word中表格信息的方法
2015/07/30 Python
对python函数签名的方法详解
2019/01/22 Python
使用celery执行Django串行异步任务的方法步骤
2019/06/06 Python
python 求1-100之间的奇数或者偶数之和的实例
2019/06/11 Python
django做form表单的数据验证过程详解
2019/07/26 Python
python3 selenium自动化 下拉框定位的例子
2019/08/23 Python
Python实现银行账户资金交易管理系统
2020/01/03 Python
Python多进程编程multiprocessing代码实例
2020/03/12 Python
Python爬虫新手入门之初学lxml库
2020/12/20 Python
英国皇家造币厂:The Royal Mint
2018/10/05 全球购物
super关键字的用法
2012/04/10 面试题
移动通信行业实习自我鉴定
2013/09/28 职场文书
会计电算化个人自我评价
2013/11/17 职场文书
会计电算化大学生职业规划书
2014/02/05 职场文书
需求分析说明书
2014/05/09 职场文书
2016思想纪律作风整顿心得体会
2016/01/23 职场文书
Python打包exe时各种异常处理方案总结
2021/05/18 Python
关于Python中进度条的六个实用技巧分享
2022/04/05 Python
Android Studio实现简易进制转换计算器
2022/05/20 Java/Android
css如何把元素固定在容器底部的四种方式
2022/06/16 HTML / CSS