0

我正在尝试过滤一个大的制表符分隔文件并仅打印其中一列中得分 > 0.999 的行,但由于某种原因,脚本的输出继续只打印每一行。关于为什么我的“如果分数 > 0.999:”没有按预期工作的任何见解?

import sys
import string
import re


def split_lines(lines):
for line in lines:
    if line.find('#') >-1:

        print line
    else:
        #pass
        #fields = re.split('\t',line)
        fields = line.split('\t')
        score = fields[3]
        if score > 0.999:
            print score

        #else:
        #   pass



data = sys.stdin.read()
lines = data.split('\n')

split_lines(lines)
4

1 回答 1

3

您需要将字符串分数转换为数字格式,Decimal 或 float

if float(score) > 0.999
于 2013-06-13T22:24:07.760 回答