необходимо найти значение в текстовом файле, а затем извлечь строку, в которой значение находится из текстового файла python3x - PullRequest
0 голосов
/ 29 сентября 2019

У меня большой текстовый файл, мне нужно искать его строки, и если в строке есть определенное значение, вытянуть строку и сохранить его в списке

, когда я пытаюсь использовать цикл for, он непереходите строка за строкой, а проверяйте его буквально за символом. Я действительно не хочу использовать циклы, потому что файлы очень большие, так что если у вас, ребята, есть идеи, как найти текстовый файл, найдите значение и затем извлеките всю строкуэто значение было в. s = '' '****************** НА МЕСТЕ ************************************************************************ ** ПРОГРАММА МАТЕРИАЛА + ШКАФ ДЛЯ ЗАГРУЗКИ SH MUD UML111 + КАБИНА ДЛЯ ИГРЫ ORS & WM CABIN ** G ENERGY 4 "3/4 БУРОВАЯ КУБКА QN 475-0029 ** 86 JTS 4" 1/2 ТРУБА 13,5 # P110 N VAM+ 44 jtsTBG 2 "7/8 6.4 # N80 N.VAM + 2 щенка JTS 13 '' 3/8 68 # N80 BTC + 1 щенок 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 ** ПИЩЕВОЕ ОБОРУДОВАНИЕ И ЭКИПАЖ ЭКИПАЖА '' 'код:

 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)

1 Ответ

0 голосов
/ 29 сентября 2019

Я думаю, вам понадобится цикл for, например, так: Для x в открытом ('file.txt'): Если 'value' в x: List.append (x)

...