我有一个大文本文件,我需要搜索它的行,如果该行中有某个值,则将其拉出并将其存储在列表中
当我尝试使用for循环时,它不会逐行显示,而是逐个字符地对其进行检查 我真的不想使用循环,因为文件很大,所以如果你们有任何想法如何搜索文本文件,找到一个值,然后提取该值所在的整行。 s =''' ******************在位置********************************** ********************************************** **材料程序+ SH MUD记录CABIN UML111 + ORS MOD CABIN和WM CABIN ** G ENERGY 4“ 3/4 DRILLING JAR QN475-0029 ** 86 JTS 4“ 1 / 2TUBING 13,5#P110 NVAM + 44 jtsTBG 2” 7/8 6.4#N80 N.VAM + 2 PUP JTS 13''3/8 68 68 N80 BTC + 1 PUP JTS 7 ''32#P110 N.VAM + 70 JTS管道2“ 3/8 +1 X-OVER 9“ 5/8 47#P110N,VAM PIN X BTCBOX **烧焦器设备和机组 ''' 代码:
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)
答案 0 :(得分:0)
我认为您需要像这样的for循环: 对于open('file.txt')中的x: 如果x中的“值”: List.append(x)