gpt4 book ai didi

python - 使用正则表达式删除相关行

转载 作者:太空宇宙 更新时间:2023-11-04 03:19:31 24 4
gpt4 key购买 nike

使用 pdftotext,创建了一个文本文件,其中包含来自源 pdf 的页脚。页脚会妨碍其他需要完成的解析。页脚的格式如下:

This is important text.

9
Title 2012 and 2013

\fCompany
Important text begins again.

Company 行是唯一没有在文件其他地方重复出现的行。它显示为 \x0cCompany\n。我想搜索此行并根据 \x0cCompany\n 出现的位置删除它和前面的三行(页码、标题和空行)。这是我目前所拥有的:

report = open('file.txt').readlines()
data = range(len(report))
name = []

for line_i in data:
line = report[line_i]

if re.match('.*\\x0cCompany', line ):
name.append(report[line_i])

print name

这使我可以制作一个列表,存储哪些行号出现这种情况,但我不明白如何删除这些行以及前面的三行。看来我需要基于此循环创建一些其他循环,但我无法使其工作。

最佳答案

与其遍历并获取要删除的行的索引,不如遍历行并仅附加要保留的行。

迭代您的实际文件对象也比将其全部放入一个列表中更有效:

keeplines = []

with open('file.txt') as b:
for line in b:
if re.match('.*\\x0cCompany', line):
keeplines = keeplines[:-3] #shave off the preceding lines
else:
keeplines.append(line)


file = open('file.txt', 'w'):
for line in keeplines:
file.write(line)

关于python - 使用正则表达式删除相关行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35117142/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com