python 提取文件指定列的方法示例

yipeiwu_com7年前Python基础

之前用featureCount 处理得到结果,要提出第一列gene_id 和 readcount 列,首先软件输出的第一行默认是你使用的命令行,没有用,用bash批量删掉。

for i in `ls`;do sed -i '1d' $i;done

删除当前文件夹下所有文件第一行。

其实提出两列很简单,不过我受够了每次一个文件执行一次的烦。想搞成别的程序调用时命令行参数直接就行。第一次知道sys.argv这玩意,学到了。

我设置了 -i 输入,-o 输出 这两个参数来判断输入输出文件个数,不过对于错误命令行输入的判断还很欠缺,毕竟只有自己用。

上代码:

import sys
leng=len(sys.argv)
for i in range(leng): # index the input file and output file location,maybe it's too complex
 if sys.argv[i]=="-i":
 it=i
 if sys.argv[i]=="-o":
 out=i
for i in range(it+1,out): # input file number(there should have same # of in and out file)
 print(sys.argv[i])
 file=open(sys.argv[i],'r')
 f=open(sys.argv[i+out-it],'w')
 count=[]
 for lines in file.readlines():
 two=[]
 lines=lines.rstrip('\n')
 b=lines.split('\t')
 two.append(b[0])
 if(b[6].startswith('.')): #chage path to count,some output problem
  b[6]="count"
 two.append(b[6])
 s='\t'.join(two)
 f.write(s+'\n')
 f.close

其实python里面 str 和list 弄的还是昏头昏脑的,每次都要错了再改。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

浅谈Python中重载isinstance继承关系的问题

判断继承关系 通过内建方法 isinstance(object, classinfo) 可以判断一个对象是否是某个类的实例。这个关系可以是直接,间接或抽象。 实例的检查是允许重载的,可...

python正则表达式判断字符串是否是全部小写示例

实现代码 # -*- coding: cp936 -*- import re s1 = 'adkkdk' s2 = 'abc123efg' an = re.search('^[a...

http请求 request失败自动重新尝试代码示例

本文研究的主要是http请求 request失败自动重新尝试的一个例子,具体如下。 需求 最近开发一个项目,要实现的一个场景是对于某个http请求,如果请求失败,需要再自动尝试几次,并记...

使用Python代码实现Linux中的ls遍历目录命令的实例代码

使用Python代码实现Linux中的ls遍历目录命令的实例代码

一、写在前面   前几天在微信上看到这样一篇文章,链接为:https://www.jb51.net/it/692145.html,在这篇文章中,有这样一段话,吸引了我的注意:      ...

使用Python实现企业微信的自动打卡功能

上下班打卡是程序员最讨厌的东西,更讨厌的是设置了连上指定wifi打卡。 手机上有一些定时机器人之类的app,经过实际测试,全军覆没,没一个可以活着走到启动企业微信的这一步,所以还是靠自...