[英]Python idiom to skip first line that match condition
我有一个制表符分隔的数据,看起来像这样:
Probes FOO BAR
1452463_x_at 306.564 185.705
1439374_x_at 393.742 330.495
1426392_a_at 269.850 209.931
1433432_x_at 636.145 487.012
1415687_a_at 231.547 175.008
1424736_at 248.926 189.500
1435324_x_at 244.901 225.842
1438688_at 180.511 187.407
1426906_at 206.694 218.913
我想做的就是解析以上数据。 但是首先必须跳过以Probes
开头的行。 但是为什么这条线失败了? 解决这些问题的最常见的Python风格是什么?
import sys
import csv
import re
with open('Z100_data.txt','r') as tsvfile:
tabreader = csv.reader(tsvfile,delimiter='\t')
for row in tabreader:
if re.match("^Probes",row):
# He we try to skip the first line.
continue
else:
print ', '.join(row)
处理此问题的pythonic方法是next()
with open('Z100_data.txt','r') as tsvfile
tabreader = csv.reader(tsvfile,delimiter = '\t')
next(tabreader) # skips the first line
for row in tabreader:
print ', '.join(row)
尝试:
if re.match("^Probes",' '.join(row)):
要么:
if "Probes" in row:
要么:
if "Probes" == row[0].strip():
csv.reader
从分隔符分隔的行中返回元组列表。 您尝试使用re
o list / tuple,但它仅适用于字符串。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.