我有一个相当简单的文件(政府的授权策略),包括标题,普通文本和项目符号(这是他们希望实施的策略)。
我可以从.pdf
读取并提取页面或标题,并将其转换为.txt
,但我只希望将文字(整段)保留在项目符号中,是我感兴趣的东西。我认为有一些方法可以做到这一点,因为它们可能会被子弹点本身识别出来。
在R和/或Python中是否有一种简单的方法可以做到这一点?我不熟悉其他编程语言或解析方法。
编辑:在页面上快速将基本文本转换为HTML(使用https://wordtohtml.net),它似乎将项目符号转换为<li>
,我猜测它很容易解析。是否有一种快速简便的方法将整个262页的文档转换为HTML,保留<li>
格式可能在R / python中?或者您是否知道PDF方式 - 对于我的问题,最好至少少一步 - 对于我的问题?
答案 0 :(得分:1)
这是我的一般方法:
读入示例字符串
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
# match semi-colon or colon, then a backslash, then "n". I.E. split by ;\n or :\n
stringList <- unlist(str_split(string, "([;:])\\\n"))
返回以项目符号开头的任何字符串的位置:
matched <- grep("\\\u0095", stringList)
以子弹开头的字符串子集:
stringList[matched]
此解决方案目前的弱点是它依赖于以“; \ n”或“:\ n”开头的子弹。如果您只是按“\ n”分割,则只要它继续到第二行,就会丢失子弹的第二部分。根据文档的格式,您可能需要更改正则表达式以确保正确拆分字符串
您也可以通过项目符号进行初始拆分:stringList <- unlist(str_split(string, "\\u0095"))
但是您需要一个规则来定义项目符号结束和纯文本开始的位置。