python如何计算从另一个输入文件中提取的出现次数

时间:2017-05-11 02:27:33

标签: python

#!/usr/bin/python
import os
import re
path=os.getcwd()
list_dir=os.listdir(path+'//Osativa')
if not os.path.exists('results'):
    os.makedirs('results')
fo1=open('./results/annotation.txt','w')
f1=open(path+'//CLEAN FILE.csv').readlines()
f2=open(path+'//Osativa//Osativa_323_v7.0.annotation_info.txt').readlines()
for line in f1:
    locus_id=line.split(',')[1]
    if locus_id.startswith('LOC'):
            print locus_id

我的问题是如何计算我使用上面的脚本提取的locus_id的数量。

2 个答案:

答案 0 :(得分:0)

您可以在发生时对它们进行计数,也可以将它们存储在容器中。

<强>计数

num = 0
for line in f1:
    locus_id=line.split(',')[1]
    if locus_id.startswith('LOC'):
            num += 1
print(num)

<强>容器

ids = []
for line in f1:
    locus_id=line.split(',')[1]
    if locus_id.startswith('LOC'):
            ids.append(locus_id)
print(len(ids))

答案 1 :(得分:0)

您可以使用csv模块!

阅读完文件后,遍历每一行,获取第一项(line[1]),然后检查“&#39; LOC&#39;存在。他们总结了结果清单!

import csv
f1=open(path+'//CLEAN FILE.csv')
reader = csv.reader(f1)
print sum(1 for line in reader if 'LOC' in line[1])