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探索之Metaclass初步了解
Oct 28 Python
Python学生信息管理系统修改版
Mar 13 Python
解决Python requests库编码 socks5代理的问题
May 07 Python
Django 响应数据response的返回源码详解
Aug 06 Python
python numpy 矩阵堆叠实例
Jan 17 Python
Python实现桌面翻译工具【新手必学】
Feb 12 Python
Django Channel实时推送与聊天的示例代码
Apr 30 Python
Spark处理数据排序问题如何避免OOM
May 21 Python
深入了解Python enumerate和zip
Jul 16 Python
Python 如何创建一个简单的REST接口
Jul 30 Python
教你怎么用Python selenium操作浏览器对象的基础API
Jun 23 Python
Python爬虫入门案例之回车桌面壁纸网美女图片采集
Oct 16 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 透明水印生成代码
2012/08/27 PHP
php防注入及开发安全详细解析
2013/08/09 PHP
php过滤所有的空白字符(空格、全角空格、换行等)
2015/10/27 PHP
php die()与exit()的区别实例详解
2016/12/03 PHP
学习ExtJS 访问容器对象
2009/10/07 Javascript
基于jquery创建的一个图片、视频缓冲的效果样式插件
2012/08/28 Javascript
javascript获取鼠标点击元素对象(示例代码)
2013/12/20 Javascript
深入分析Cookie的安全性问题
2015/03/01 Javascript
php+ajax+jquery实现点击加载更多内容
2015/05/03 Javascript
js实现的四级左侧网站分类菜单实例
2015/05/06 Javascript
JS实现网页上随滚动条滚动的层效果代码
2015/11/04 Javascript
js操作XML文件的实现方法兼容IE与FireFox
2016/06/25 Javascript
ES6中class类用法实例浅析
2017/04/06 Javascript
vue mounted 调用两次的完美解决办法
2018/10/29 Javascript
js中int和string数据类型互相转化实例
2019/01/16 Javascript
bootstrap-table formatter 使用vue组件的方法
2019/05/09 Javascript
JS实现贪吃蛇游戏
2019/11/15 Javascript
JavaScript实现PC端横向轮播图
2020/02/07 Javascript
vue-drawer-layout实现手势滑出菜单栏
2020/11/19 Vue.js
利用打码兔和超人打码自封装的打码类分享
2014/03/16 Python
Python实现给文件添加内容及得到文件信息的方法
2015/05/28 Python
Python实现带参数与不带参数的多重继承示例
2018/01/30 Python
Python中is和==的区别详解
2018/11/15 Python
详解python中的hashlib模块的使用
2019/04/22 Python
Python 实现网课实时监控自动签到、打卡功能
2020/03/12 Python
浅谈keras 模型用于预测时的注意事项
2020/06/27 Python
Python函数__new__及__init__作用及区别解析
2020/08/31 Python
基于HTML5 WebGL的3D机房的示例
2018/03/16 HTML / CSS
拉飞逸官网:Lafayette 148 New York
2020/07/15 全球购物
大学毕业通用个人的求职信
2013/12/08 职场文书
党的群众路线教育实践活动先进个人材料
2014/12/24 职场文书
商场圣诞节活动总结
2015/05/06 职场文书
Python面向对象编程之类的概念
2021/11/01 Python
Python matplotlib绘制雷达图
2022/04/13 Python
详解CSS中postion和opacity及cursor的特性
2022/08/14 HTML / CSS
Flink 侧流输出源码示例解析
2022/09/23 Servers