如何使用python在文本文件中搜索整数(x,y)?

时间:2011-03-08 10:04:50

标签: python search matrix keyword

我有一个存储在文本文件中的矩阵:

(i, j)      count

我需要搜索对(i,j)。我该怎么做?

with open("matrix.txt","r") as searchmat:            
        for line in searchmat:
                word=str((x,y))
                if word in line:
            t=line.split('\t')
            f=t[1]
                return f

我为所有值获得 NONE

3 个答案:

答案 0 :(得分:1)

代码看起来很好(假设你的缩进正确)。可能您的数据文件格式存在问题。或许分隔符中有多个制表符?请尝试使用t=line.split()

答案 1 :(得分:0)

看起来你搞砸了缩进。通过查看你(我假设)粘贴在这里的代码,看起来你有混合标签和空格,Python绝对不喜欢。用空格替换文件中的所有选项卡,并缩进代码,使其如下所示:

with open("matrix.txt","r") as searchmat:            
    for line in searchmat:
        word=str((x,y))
        if word in line:
            t=line.split('\t')
            f=t[1]
            return f

答案 2 :(得分:0)

这可能会有所帮助:

def reader(path):
    import re
    pattern = re.compile("^\((\d*), (\d*)\).*$")
    with open(path) as searchmat:
        for line in searchmat:
            print re.match(pattern, line).group(1, 2)   # print both raw groups
            print int(re.match(pattern, line).group(1)) # first number as int
            print int(re.match(pattern, line).group(2)) # second number as int

它遍历path给出的文件,并在每一行中查找您描述的模式。