簡體   English   中英

從 python 中的 txt 文件中提取行

[英]Extract lines from a txt file in python

想象一下,我在一個 txt 文件中有這個文本:

嗚嗚嗚
嗚嗚嗚
標題 Lorem ipsum dolor sit amet, consectetur adipiscing
精英,sed 做 eiusmod tempor incididunt ut labore et dolore
麥格納阿里誇 Ut enim ad minim veniam,
(健康)狀況
嗚嗚嗚
嗚嗚嗚
標題 Sed ut perspiciatis unde omnis iste natus error sit voluptatem
accusantium doloremque laudantium, totam rem aperiam,
eaque ipsa quae ab illoinvente veritatis
(健康)狀況
嗚嗚嗚

從具有上述結構的文本(數百行)中,我想提取以“title”開頭的行,直到找到以“condition”開頭的行。 所以結果會是這樣的:

標題 Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua。 Ut enim ad minim veniam,

標題 Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illoinventore veritatis

我第一次使用此代碼到達 select,但在找到“條件”一詞之前,我不知道如何添加下一行。 請問你能幫幫我嗎?

outF = open("myOutFile.txt", "w")
hand = open('doubt.txt', encoding="utf8")
for line in hand:
    line = line.rstrip()
    if re.search('^Title',line) :       
       outF.write(line); outF.write("\n")
       outF.write("\n")
outF.close()```

如果您想要所有標題直到出現第一個條件行,您需要break循環:

for line in hand:
    line = line.rstrip()
    if line.startswith("Title"):       
       outF.writelines([line])
    if line.startswith("condition"):
         break

outF.close()

如果您想在標題之后寫下所有行,直到出現下一個條件:

write = False
writelines = []

for line in hand:
    line = line.rstrip()
    
    if line.startswith("condition"):
       write = False
       writelines.append("\n")
       
    if line.startswith("Title"):       
       write = True
    
    if write:
         writelines.append(line + " ")

outF.writelines(writelines)  
outF.close()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM