【问题标题】:mining a database to extract text fields in python挖掘数据库以在python中提取文本字段
【发布时间】:2011-05-19 10:41:03
【问题描述】:

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

逻辑结构如下:

gc;查询

英尺;姓名(需要此字段)

fd; SEQUENCE(需要这个字段)

fd;序列

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

英尺;姓名(需要此字段)

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

...(更多 fd; 字段)

英尺;姓名(需要此字段)

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

gc;另一个查询

这种结构重复了数千次,每个 QUERY 一个。我已将需要提取的字段括起来。我尝试了以下代码,既作为函数又作为 sn-p,但它不起作用。我检查了变量范围是否正确。 我需要 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

【问题讨论】:

  • 请使用正确的格式四您的代码。没有人愿意为这么少的内容滚动这么多
  • 我把它缩短了,希望现在可以了

标签: python text-extraction


【解决方案1】:

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

【讨论】:

  • 感谢您的关注!在我发布的内容下有更多的 coe,因此继续声明。现在它做了我想做的事。
猜你喜欢
  • 1970-01-01
  • 2011-02-07
  • 1970-01-01
  • 2018-09-21
  • 2012-09-24
  • 2013-08-01
  • 2012-07-01
  • 1970-01-01
  • 2013-11-05
相关资源
最近更新 更多