【发布时间】:2023-03-08 18:35:01
【问题描述】:
我有一个包含许多列的 csv 文件
这是 excel 文件的图像 http://i.stack.imgur.com/AB6TP.png
我需要查看数千行,在标记为命中定义的列中查找任何名称为“grapevine”的病毒。 对于每个名为“grapevine”的单词,我需要编译它被提及的次数、长度范围(列标记的查询长度,[2])和读取的总和(列总读取数,[4]) .
输入: http://i.stack.imgur.com/AB6TP.png
输出:
葡萄 1 6 234-234234 45634
葡萄 2 7 123-65432 12341
with open(argv[1], 'r') as f:
for line in csv.reader(f):
contig_name = line[0]
contig_length = line[3]
read_count = line[4]
hit_def = line[6]
try:
pattern = r'.\[(.*?)\].'
hit_sub = re.search(pattern, hit_def).group(1)
print hit_sub
except AttributeError:
hit_sub = hit_def
target.append([hit_sub])
这是我目前所拥有的 我不知道如何过滤名称
【问题讨论】:
-
您的模式对您的问题毫无意义,sum 和 line.count("grapevine") 可能就足够了