【发布时间】:2022-01-04 13:26:10
【问题描述】:
我正在尝试使用 pdftools 包从 pdf 中提取数据表。我的源文件在这里:https://hypo.org/app/uploads/sites/2/2021/11/HYPOSTAT-2021_vdef.pdf。比如说,我想从第 170 页的表 20 中提取数据(名义房价的变化)
我使用以下代码:
install.packages("pdftools")
library(pdftools)
report <- pdftools::pdf_data("https://hypo.org/app/uploads/sites/2/2021/11/HYPOSTAT-2021_vdef.pdf")
tab20 <- as.data.frame(report[170])
为了获得正确的表格,我必须手动指出我要提取列表的第 170 个元素(因为表格在第 170 页上)。如果明年在报表中添加一个带有表格的新页面,我将不得不修改代码以提取第 171 个元素。有没有办法以更自动化的方式做到这一点?
基本上,我需要做的是找到包含字符串“名义房价变化”的列表元素。有什么建议吗?
【问题讨论】:
-
您要求 data.frame 采用什么格式?您加载的 data.frame 中有字符串,但表格的格式与 pdf 上显示的格式大不相同。
-
@Gowachin 最后,我希望 DF 看起来像报告中的表格。我可以进一步清理它并使用 dplyr 等重新调整为正确的格式。但我想知道如何在不手动指定“170”作为参数的情况下首先获得 DF