微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python抓取非结构化PDF

如何解决Python抓取非结构化PDF

我们从供应商处每两周发布软件一次,该供应商向我们提供了PDF版本说明。笔记中有很多不相关的内容,但是最终我们需要手动将这些笔记中的信息复制/粘贴到Confluence页面中。

理想情况下,我希望能够编写python应用程序,以便将某些部分从PDF中抓取。结构大致如下(其中粗体部分是我要提取的部分):

  1. 简介
  2. 功能
    2.1。 功能1
    说明
    2.2 功能2
    说明



    2.x)功能X 说明
  3. 缺陷修复
    说明
    带有缺陷描述的表

在这种情况下文档的其余部分无关

我设法获取它来导入文件提取(全部)文本,但是我真的不知道如何仅提取第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 举报,一经查实,本站将立刻删除。