python 提取文件指定列
2015-08-26 21:53
507 查看
之前用featureCount 处理得到结果,要提出第一列gene_id 和 readcount 列,首先软件输出的第一行默认是你使用的命令行,没有用,用bash批量删掉。
删除当前文件夹下所有文件第一行。
其实提出两列很简单,不过我受够了每次一个文件执行一次的烦。想搞成别的程序调用时命令行参数直接就行。第一次知道sys.argv这玩意,学到了。
我设置了 -i 输入,-o 输出 这两个参数来判断输入输出文件个数,不过对于错误命令行输入的判断还很欠缺,毕竟只有自己用。
上代码:
其实python里面 str 和list 弄的还是昏头昏脑的,每次都要错了再改。
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进制转换(读取纯二进制文件内容)
- Python读取pcap文件
- java与python在处理大文件操作上的对比
- python多进程编程
- Python多进程编程
- Python多进程编程
- 操作python对象的属性
- Python模块(functools)
- python列表元素去重
- 朴素贝叶斯–分类器
- python排序操作
- 利用Python PIL、cPickle将图片读取和保存为pkl格式文件
- 使用Python进行多进程编程
- python dist-packages 和 site-packages
- 使用python脚本生成随机密码
- Python RE模块
- Python局部变量和全局变量global
- Python中小中花括号的区别
- Python中if __name__ == "__main__":用法解析