使用R或Python只从PDF中提取要点

2024-06-01 21:54:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个相当简单的文件(政府的任务战略),有标题,正文,然后是要点(他们希望实施的战略)。在

我可以从.pdf中读取和提取页面或标题,并将其转换为.txt,但我只想将文本(整个段落)保留在项目符号内,这是我感兴趣的。我认为有某种方法可以做到这一点,因为他们可以通过子弹头本身来识别。在

在R和/或Python中有没有足够简单的方法来实现这一点?我不熟悉其他编程语言或解析方法。在

编辑:只需快速将页面上的基本文本转换为HTML(使用https://wordtohtml.net),它似乎将要点转换为<li>,我猜这很容易解析。有没有一种快速简便的方法可以将整个262页的文档转换成HTML,并且可能在R/python中保持<li>格式?或者你知道一个PDF格式的方式-最好是这样做至少少一步-为我的问题?在


Tags: 文件项目方法文本txt标题pdfhtml
1条回答
网友
1楼 · 发布于 2024-06-01 21:54:27

以下是我的一般方法:

读入示例字符串

require(stringr)

string <- "passarão a estar inscritas políticas públicas que permitam:\n • Inverter a tendência de perda de 
rendimento das famílias, dos trabalhadores, dos\n funcionários públicos e dos pensionistas;\n"

\n拆分

^{pr2}$

返回以项目符号开头的任何字符串的位置:

matched <- grep("\\\u0095", stringList)

以项目符号开头的字符串的子集:

stringList[matched]

此解决方案目前的不足之处在于,它依赖于项目符号前面加“;\n”或“:\n”。如果您只是被“\n”分开,则每当子弹继续到第二行时,就会丢失子弹的第二部分。根据文档的格式,您可能需要更改正则表达式以确保适当地拆分字符串

您也可以按bullet进行初始分割:stringList <- unlist(str_split(string, "\\u0095")),但随后需要一个规则来定义项目符号的结束位置和纯文本的开始位置。在

相关问题 更多 >