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