挖掘数据库以在python中提取文本字段

时间:2011-05-19 10:41:04

标签: python text-extraction

我有一个数据库,我试图从中提取某些信息。

逻辑结构如下:

GC; QUERY

英尺; NAME(需要此字段)

FD; SEQUENCE(需要此字段)

FD; SEQUENCE

...(更多“fd;”字段)

英尺; NAME(需要此字段)

FD; SEQUENCE(只需要第一个fd)

...(更多fd;字段)

英尺; NAME(需要此字段)

FD; SEQUENCE(只需要第一个fd)

GC;另一个问题

此结构重复数千次,每次查询一次。我已经将我需要提取的字段括起来了。我尝试了以下代码,作为一个函数和一个代码片段,但它不起作用。我检查过变量范围是否正确。 我需要mylist包含与“ft”字段相同数量的条目。 使用我的代码,创建了mylist,但它是一个空列表。我的逻辑错误的任何想法?我使用的是python 2.6.5

  mylist = []
  query = raw_input("query: ")
  flag = 0 

  for line in lines:  

    if line.startswith('gc; ' + query):
        flag == 1
        continue        
    elif line.startswith('fc; ') and flag == 1:
        print line
        flag = 1        
    elif line.startswith('fd; ') and flag == 1:
        print line
        mylist.append(line)
        flag = 0    
    elif line.startswith('fd; ') and flag == 0:
        continue
    else:
        continue

1 个答案:

答案 0 :(得分:1)

在第6行代码中,flag == 1应该只有1个等号。否则,它永远不会被设置为1,然后其他检查失败。此外,除非下面有更多代码被截断,否则你不需要任何继续 - 它会自动进入循环的下一次迭代。