使用Python

时间:2018-05-07 14:13:16

标签: python full-text-search bigdata extract whoosh

对于项目,我需要从不同来源提取数据。其中一个来源是一个大(.txt)文件(~750 Mb)。我尝试过常见的解析技术,但文件太大而且需要花费太多时间。我在这里找到的解决方案是使用Whoosh库构建全文索引。我是python的新手,也是全文搜索的新手。您是否知道如何在合理的时间内打开文件以及如何设计架构?我的文件具有以下结构

FIELD NO

%我要提取的东西%

FIELD NOT-INTERESTING

%不感兴趣的东西%

FIELD TP

%我要提取的东西%

1 个答案:

答案 0 :(得分:0)

对于UP脚本的速度,我们将使用多处理, 要提取数据,你应该使用re.findall或re.search,但是在这个脚本上我将使用re.search

from multiprocessing import Process
from multiprocessing import freeze_support
import re

def find():
   f = open('data.txt', 'r').readlines()
   for n in f:
     word = n.rstrip()
     f = re.seach(r'%(.*)%', word)
     field = f.group(1)
     print field


if __name__ == '__main__':
    freeze_support()
    p = Process(target=find())
    p.start()