【发布时间】:2011-12-16 15:37:50
【问题描述】:
我一直在成功地使用 XML 包来提取 HTML 表格,但想扩展到 PDF。从之前的问题来看,似乎没有一个简单的 R 解决方案,但想知道最近是否有任何进展
如果做不到这一点,Python(我是一个完整的新手)中是否有某种方法可以获得 并操作 pdf,以便我可以使用 R XML 包完成工作
【问题讨论】:
标签: python r pdf screen-scraping
我一直在成功地使用 XML 包来提取 HTML 表格,但想扩展到 PDF。从之前的问题来看,似乎没有一个简单的 R 解决方案,但想知道最近是否有任何进展
如果做不到这一点,Python(我是一个完整的新手)中是否有某种方法可以获得 并操作 pdf,以便我可以使用 R XML 包完成工作
【问题讨论】:
标签: python r pdf screen-scraping
AFAIK 没有一种简单的方法可以将 PDF 表格转换为对数据分析有用的东西。您可以使用Data Science Toolkit 的文件到文本实用程序(通过RDSTK 包的R 接口),然后解析生成的文本。请注意:解析通常很重要。
编辑:有一个关于将 PDF 转换为 XML on discerning.com 的有用讨论。简短的回答是您可能需要购买商业工具。
【讨论】:
从 PDF 中提取文本很困难,而且几乎总是需要非常小心。
我会从命令行工具(例如 pdftotext)开始,看看它们输出了什么。问题在于 PDF 可以以任何顺序存储文本,可以使用笨拙的字体编码,并且可以执行诸如使用连字字符(您在正确排版中看到的连接的 'ff' 和 'ij' )之类的事情。
pdftotext 可安装在任何 Linux 系统上...
【讨论】:
find 实用程序(或在 Windows 的 GNU 集合中),或者可以让 R 向 shell 发送命令,循环遍历文件名......甚至 Adobe 长期以来都有一个糟糕的文本提取器(不确定现在是否更好),而 Xerox 有一个好一个。
您可能想查看text mining 包tm。我记得他们实现了所谓的阅读器,还有一个用于 PDF 的。
【讨论】:
可以从 PDF 文档中提取表格的 tabula 应用程序的核心是一个简单的命令行 Java 应用程序,tabula-extractor。
此 Java 应用程序已由 tabulizer 包封装在 R 中。将路径传递给 PDF 文件,它会尝试为您提取数据表并将它们作为数据返回。
例如,请参阅When Documents Become Databases – Tabulizer R Wrapper for Tabula PDF Table Extractor。
【讨论】: