Что: Вы можете найти страницу с общей частью заголовка в каждом файле и извлечь данные оттуда (если заголовок встречается только один раз в файле)
Как: Создайте функцию для получения таблицы в PDF-файле, а затем попросите функцию на Lapply для запуска для всех PDF-файлов.
Пример:
Сначала загрузите функция, чтобы найти страницу с заголовком и получить оттуда текст.
get_page_text <- function(url,word_find) {
txt <- pdftools::pdf_text(url)
p <- grep(word_find, txt, ignore.case = TRUE)[1] # Sentence to find
L <- tabulizer::extract_text(url, pages = p)
i <- which.max(lengths(L))
data.frame(L[[i]])
}
Во-вторых, получить имена файлов.
setwd("C:/Users/xyz/Regions")
files <- list.files(pattern = "pdf$|PDF$") # Get file names on the folder Regions.
Затем «l oop» ( lapply), чтобы запустить функцию для каждого PDF-файла.
reports <- lapply(files,
get_page_text,
word_find = "Table 13.1: Total Number of Households Engaged in Agriculture by District, Rural and Urban Residence During 2011/12 Agriculture Year")
Результатом является список переменных с одним data.frame для каждого извлеченного PDF-файла. Следующим шагом будет очистка ваших данных.
Функция может сильно различаться в зависимости от шаблонов в ваших PDF-файлах. Поиск страницы был для меня эффективным, вы найдете то, что вам больше всего подходит.