Помощь Tabulizer - извлечение работает только на некоторых страницах - PullRequest
0 голосов
/ 11 июня 2019

Я работаю с tabulizer, чтобы попытаться обработать некоторые отчеты с архивированными данными. В качестве воспроизводимого примера я использую тот, который доступен как в формате PDF, так и в формате CSV, но в течение нескольких месяцев у меня есть только PDF-файлы, поэтому мне нужно извлечь текст.

Когда я запускаю extract_tables в pdf, некоторые страницы извлекаются, а некоторые нет. Я могу получить данные, но только обходным путем, используя 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 не работает с параметром решетки, но работает с потоком.

Я могу получить данные, представленные на странице 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)

Я могу получить данные, используя область выбора, включая или не включая заголовки в выборе пользовательского интерфейса.

llr_area_4<-data.frame(extract_areas(f,pages = 4),stringsAsFactors = F)

Любая помощь высоко ценится. В противном случае я стою в очереди для большого количества копий и вставок!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...