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获取本地计算机名字的方法
Apr 29 Python
Python实现字符串反转的常用方法分析【4种方法】
Sep 30 Python
详解python中init方法和随机数方法
Mar 13 Python
Python中字符串与编码示例代码
May 20 Python
详解Python是如何实现issubclass的
Jul 24 Python
Pycharm远程调试原理及具体配置详解
Aug 08 Python
使用Pyhton集合set()实现成果查漏的例子
Nov 24 Python
sklearn-SVC实现与类参数详解
Dec 10 Python
python异常处理和日志处理方式
Dec 24 Python
关于Python不换行输出和不换行输出end=““不显示的问题(亲测已解决)
Oct 27 Python
Django前后端分离csrf token获取方式
Dec 25 Python
PyCharm 解决找不到新打开项目的窗口问题
Jan 15 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
Android ProgressBar进度条和ProgressDialog进度框的展示DEMO
2013/06/19 PHP
Laravel手动返回错误码示例
2019/10/22 PHP
PHP实现基本留言板功能原理与步骤详解
2020/03/26 PHP
Google Suggest ;-) 基于js的动态下拉菜单
2006/10/11 Javascript
javascript中的事件代理初探
2014/03/08 Javascript
js 判断图片是否加载完以及实现图片的预下载
2014/08/14 Javascript
JS实现OCX控件的事件响应示例
2014/09/17 Javascript
javascript实现根据iphone屏幕方向调用不同样式表的方法
2015/07/13 Javascript
jquery实现鼠标滑过显示二级下拉菜单效果
2015/08/24 Javascript
jquery 表单验证之通过 class验证表单不为空
2015/11/02 Javascript
基于jQuery实现收缩展开功能
2016/03/18 Javascript
javascript代码调试之console.log 用法图文详解
2016/09/30 Javascript
JavaScript实现的选择排序算法实例分析
2017/04/14 Javascript
Vue.js常用指令的使用小结
2017/06/23 Javascript
详解Angular2表单-模板驱动的表单(Template-Driven Forms)
2017/08/04 Javascript
关于Mac下安装nodejs、npm和cnpm的教程
2018/04/11 NodeJs
vue实现数字动态翻牌的效果(开箱即用)
2019/12/08 Javascript
用js限制网页只在微信浏览器中打开(或者只能手机端访问)
2020/12/24 Javascript
python使用scrapy解析js示例
2014/01/23 Python
Python标准库之随机数 (math包、random包)介绍
2014/11/25 Python
Python中用于返回绝对值的abs()方法
2015/05/14 Python
Python中的自省(反射)详解
2015/06/02 Python
Python通过future处理并发问题
2017/10/17 Python
python实现拉普拉斯特征图降维示例
2019/11/25 Python
pytorch中的inference使用实例
2020/02/20 Python
Python如何脚本过滤文件中的注释
2020/05/27 Python
Python内置函数及功能简介汇总
2020/10/13 Python
HTML5+CSS3实现拖放(Drag and Drop)示例
2014/07/07 HTML / CSS
放飞蜻蜓反思
2014/02/05 职场文书
环境建设实施方案
2014/03/14 职场文书
分公司经理任命书
2014/06/05 职场文书
2014年四风问题自我剖析材料
2014/09/15 职场文书
设立有限责任公司出资协议书
2014/11/01 职场文书
2015年社区环境卫生工作总结
2015/04/21 职场文书
2015年计划生育责任书
2015/05/08 职场文书
2016优秀员工先进事迹材料
2016/02/25 职场文书