如何解决Python抓取非结构化PDF
我们从供应商处每两周发布软件一次,该供应商向我们提供了PDF版本说明。笔记中有很多不相关的内容,但是最终我们需要手动将这些笔记中的信息复制/粘贴到Confluence页面中。
理想情况下,我希望能够编写python应用程序,以便将某些部分从PDF中抓取。结构大致如下(其中粗体部分是我要提取的部分):
在这种情况下文档的其余部分无关
我设法获取它来导入文件并提取(全部)文本,但是我真的不知道如何仅提取第2部分的标题,然后对于第3部分仅提取表格并重新格式化它与熊猫。有关如何进行此操作的任何建议?
import fitz
filename = '~\releasenotes.pdf'
doc = fitz.open(filename)
print (doc) # Just to see what comes out
(现在我该怎么办?)
解决方法
一个简单的正则表达式(正则表达式)应该可以解决问题。我正在对从pdf阅读出来的文本的外观做出一些大的假设-我已经复制了您帖子中的文本,并根据您的问题将其称为“ doc”:)
C3
让我打开最后一行的包装:
For Each
将在您的文档中生成与搜索字符串匹配的项目列表
import re #regular expression library
doc = '''
Introduction
New Features
2.1. New Feature 1
description
2.2 New Feature 2
description
.
.
.
2.x) New Feature X description
'''
ds_features = pd.Series(re.findall('2.[1-9].*\n',doc))
将找到re.findall
的所有实例,后跟'2.[1-9].*\n'
中的任何数字,再后跟任意数量的字符2.
,直到到达换行符[1-9]
。
希望这符合要求吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。