我有一個帶有製表符分隔的0-10行的巨大文件。我的問題是,如何忽略缺少空行的整行[4]?我輸入文件,如何忽略缺少數據的行
1 GRMZM2G052619_P03 10 56 a b c d e y
2 GRMZM5G888620_P01 23 67 go:89 f g h k l m
3 GRMZM5G886789_P02 45 89 o p r s t w
所以,我最後的輸出應該是這樣的,
2 GRMZM5G888620_P01 23 67 go:89 f g h k l m
import re
f=open('input.txt','r')
r=open('output.txt','w')
lines=f.readlines()
for line in lines:
new_list=re.split(r'\t+',line)
go_acc=new_list[4]
if go_acc != '':
r.writelines(line)
f.close()
r.close()
我認爲某件事情是錯誤的在這條線,如果go_acc = ''!
你的正則表達式'\ T +'被消耗'\ t \ t'時'線[4]'是空的,所以在那裏沒有空字符串,而是下一個字段。或者改爲使用'\ t'或者按照@falsetru的建議計算字段的數量。 –