我一直在尝试从单个 pdf 文件中提取大量表并将它们组合成 R 中的一个。我现在的问题是,当使用extract_tables()
某些表时读取没有问题,有些有或多或少的行和一些出现为空。Pdf 文件中的表格具有相同的行,但列数不同。我一直在使用 pdftools 和 tabulizer 的组合来做到这一点。
library(pdftools)
library(dplyr)
library(tabulizer)
pdftables<- "./pdftables.pdf"
out <- extract_tables(pdftables)
final <- do.call(cbind, out)
我的问题是,我从 R 获得的列表元素有一些字符显示为空,而一些字符则更改了行号,因此我无法将它们与 cbind 结合使用。我不确定这是为什么。我检查了pdf,数据似乎是一样的。我可以选择文本等。所以我不知道问题是什么以及如何解决它。有谁知道为什么exctract_tables()
不挑选那些表?
澄清一下: pdf 文件包含 800 多个 pdf 表格,它们的格式类似于:
标准 | 汉诺威 | 波茨坦 |
---|---|---|
人口 | 400 | 300 |
男士 | 199 | 120 |
女性 | 201 | 180 |
但是,这些表格可能会显示不同数量的城市。行相同,但列不同。
当我运行代码的第一部分时exctract_tables()
,我得到一个字符向量列表,如下所示:
[[1]] character [51 x 7] ""'Criteria'"'Hannover''Potsdam'...
[[2]] character [51 x 8] ""'Criteria'"'Berlin''Munich'...
[[3]] character [1 x 1]
这意味着第三个表显示为空。我检查了该文件,它看起来和其他所有文件一样,我可以在其中标记文本,所以我不明白为什么制表器不选择它。有人知道为什么吗?由于我有大量表,我真的很想提取所有表并将它们自动附加到另一个表。到目前为止,我唯一能想到的其他解决方案是检索错误编号的表格列表并手动提取它们。