繁体   English   中英

需要在文本文件中搜索一个值,然后从文本文件 python3x 中提取值所在的行

[英]need to search a value in a text file then extract line where value is in from text file python3x

我有一个大文本文件,我需要搜索它的行,如果该行中有某个值,请拉出该行并将其存储在列表中

当我尝试使用 for 循环时,它不是 go 逐行而是逐个字符地检查它我真的不想使用循环,因为文件非常大,所以如果你们知道如何搜索文本文件找到一个值,然后提取该值所在的整行。s=''' ****************** ON LOCATION************ ****************************************************** ************* ** 材料程序+ SH 泥浆记录舱 UML111 + ORS 泥浆舱和 WM 舱 ** G ENERGY 4"3/4 DRILLING JAR QN 475-0029 **86 JTS 4" 1/2 油管 13,5# P110 N VAM + 44 jtsTBG 2" 7/8 6.4# N80 N.VAM + 2 PUP JTS 13'' 3/8 68# N80 BTC + 1 PUP JTS 7'' 32# P110 N .VAM+ 70 JTS TUBING 2"3/8 +1 X-OVER 9"5/8 47# P110 N,VAM PIN X BTC BOX ** BAKER CORING EQUIPMENTS & CREW ''' 代码:

 def convert_pdf_to_txt(path):
        rsrcmgr = PDFResourceManager()
        retstr = io.StringIO()
        codec = 'utf-8'
        laparams = LAParams()
        device = TextConverter(rsrcmgr, retstr, codec=codec, laparams=laparams)
        fp = open(path, 'rb')
        interpreter = PDFPageInterpreter(rsrcmgr, device)
        password = ""
        maxpages = 0
        caching = True
        pagenos = set()

        for page in PDFPage.get_pages(fp, pagenos, maxpages=maxpages,
                                      password=password,
                                      caching=caching,
                                      check_extractable=True):
            interpreter.process_page(page)

        text = retstr.getvalue()

        fp.close()
        device.close()
        retstr.close()
        return text

    path="C:\DDR reports\Smith General server\DDR Algeria\DDR\\07.July\\02.07.2019\\BELN-1-Daily Drilling Report-Report Number51-(07-02-2019).pdf"

    r=convert_pdf_to_txt(path)
        regex=re.compile('[1-9]*\s[a-zA-Z]*\sJar', re.IGNORECASE)
list_jar=list()
i=0
for line in r.split('\n'):
    #search_v=re.findall(pattern,r)
    x=re.findall(regex, line)

我认为您需要这样的 for 循环: For x in open('file.txt'): If 'value' in x: List.append(x)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM