Python使用defaultdict读取文件各列的方法
作者:盛意兄弟 发布时间:2021-08-05 00:34:24
标签:Python,读取文件
本文实例讲述了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程序设计有所帮助。


猜你喜欢
- 给定一个字符串,如何得到其中重复模式最高的子字符串,我采用的方法是使用滑窗机制,对给定的字符串切分,窗口的大小从1增加到字符串长度减1,将所
- 列表更多的方法index():返回指定数据所在位置的下标 (注意:如果查找的数据不存在则报错。)。count():统计指定数据在当前列表中出
- 使用一个遵循buffer protocol的对象就可以和numpy交互了.这个buffer_protocol要有哪些东西呢? 要有如下接口:
- 本文实例讲述了python单例模式。分享给大家供大家参考。具体分析如下:__new__()在__init__()之前被调用,用于生成实例对象
- 引言我们将学习如何构建一个终端应用程序(CLI应用程序)来管理我们的通讯录我们将使用type来构建CLI应用程序,使用Rich来创建彩色终端
- 在图片处理中,霍夫变换主要是用来检测图片中的几何形状,包括直线、圆、椭圆等。在skimage中,霍夫变换是放在tranform模块内,本篇主
- 协同开发时本地测试昨天的文章中提到了Go如何优雅的进行本地测试,今天分享一下:在多人协同开发中,如果大家都进行本地测试可能会出现的问题。最大
- 1.Python虚拟环境创建首先我们为什么要创建虚拟环境呢?因为不同的项目所依赖的环境不一样,他们需要不同的第三方库等等。为了避免冲突,所以
- 我就废话不多说了,大家还是直接看代码吧~#文件复制import ossrc_path=r'E:\Pycharm\python100题
- laravel入门简介作为PHP最常用的框架之一,Laravel的框架目录布置得尤其清晰,适用于各种类型的项目开发。今天来记录下larave
- 那么什么这两个到底有什么区别和联系呢?我在网上搜了一下,发现很多说法,虽然大同小异,但是似乎只有下面这一段来自微软网站的比较高度抽象,而且意
- php写入mysql出现中文乱码的解决办法是:在建立数据库连接之后,将该连接的编码方式改为中文。代码如下:$linkID=@mysql_co
- 1、项目设置设置dockerfile属性为“始终复制”,修改dockerfile文件内容为:FROM mcr.microsoft.com/d
- 一SQL报表常常会遇到在表格中的相除,如果分母为零,一般会显示错误号,我们可以这么处理:(加上是A/B)=A / iif(B=0,99999
- 下面的asp函数实现了对站点的所有缓存Application的清理,释放!Sub RemoveAllCache() D
- 前言:在页面操作过程中有时候点击某个链接会弹出新的窗口,但由于Selenium的所有操作都是在第一个打开的页面进行的,这时就需要主机切换到新
- 正常在使用百度地图时,我们可以通过BMap的实例对象提供的方法计算距离:var map = new BMap.Map('map_ca
- 一、route()路由概述功能:将URL绑定到函数路由函数route()的调用有两种方式:静态路由和动态路由二、静态路由和动态路径方式1:静
- 操作Excel通常是用如下三个扩展体:import xlrdimport xlwtimport openpyxlwb1 = openpyxl
- 安装Go1.15版本 大纲 Windows安装GoLinux安装GoMacOS安装GoDocker安装Go总结视频地址:https://ww