我正在使用制表器来尝试处理一些存档的数据报告。对于可重现的示例,我使用的是PDF和CSV两种版本,但是几个月以来我只有PDF,所以我需要提取文本。
当我在pdf上运行extract_tables时,某些页面会提取而有些页面则不会。我可以获取数据,但只能通过使用extract_area的解决方法
可复制的示例:
library(tabulizer)
#only need tabulizer
#download csv for June 2019 from the AER site
download.file("https://www.aer.ca/data/facilities/LLR_Report_06.pdf",destfile = "LLR_Report_test.pdf",mode = "wb")
#set file name equal to temp file location
f <- "LLR_Report_test.pdf"
# extract all the tables from pages 2 through 17 in a list - reveals the issue
table_list<-list()
i<-1
pages<-seq(2,17,1)
#scrape all the pages
for(page in pages){
print(paste("working on page ",page))
llr_table<-data.frame(extract_tables(f,pages = page),stringsAsFactors = F)
table_list[[i]]<-llr_table
i<-i+1
}
如果您检查列表,您将仅看到其中一些项目具有页面上的完整观察结果,而另一些则没有。我没有在页面上看到任何导致此问题的信息。
作为测试,请分别在第3页和第4页上进行隔离。第3页有效,第4页无效
#testing - page 3
llr_table_3<-data.frame(extract_tables(f,pages = 3,method = "decide"),stringsAsFactors = F)
#testing - page 3 works with stream
llr_table_3<-data.frame(extract_tables(f,pages = 3,method = "stream"),stringsAsFactors = F)
#testing - page 3 doesn't work with lattice
llr_table_3<-data.frame(extract_tables(f,pages = 3,method = "lattice"),stringsAsFactors = F)
#testing page 4 can't get anything
llr_tables_4<-data.frame(extract_tables(f,pages = 4),stringsAsFactors = F,method = "lattice")
我尝试了有和没有格子和流选项。唯一可能出现此问题的迹象是,第3页不适用于lattice选项,但适用于流。
我可以通过其他两种方式获取第4页上显示的数据。首先,如果我使用文本提取,则文本在那里,并且第3页和第4页的条目看起来类似:
llr_text_3<-data.frame(extract_text(f,pages = 3),stringsAsFactors = F)
llr_text_4<-data.frame(extract_text(f,pages = 4),stringsAsFactors = F)
我可以使用选择区域来获取数据,选择区域可以包括或不包括UI选择中的标题。
llr_area_4<-data.frame(extract_areas(f,pages = 4),stringsAsFactors = F)
任何帮助,不胜感激。否则,我需要进行大量复制和粘贴!