Как преобразовать PDF-файл с перечнем министров и членов кабинетов по странам в формат .csv в R - PullRequest
1 голос
/ 27 апреля 2019

ЦРУ публикует список мировых лидеров и министров кабинетов по всем странам несколько раз в год. Эта информация в формате PDF.

Я хочу преобразовать этот PDF в CSV, используя R, а затем отделить и привести в порядок данные.

Я получаю PDF от "https://www.cia.gov/library/publications/resources/world-leaders-1/" по ссылке «PDF-версия для предыдущих лет», расположенной в центре правой части страницы.

В каждом PDF-файле есть несколько вводных страниц, а затем перечислены лидеры и министры для каждой страны. С каждым «Заголовком» и «Именем» отделяются «..........» различной длины.

Я пытался использовать пакет pdftools для преобразования из PDF, но я не совсем уверен, как обращаться с форматом данных для сортировки и очистки.

Вот первые шаги, которые я предпринял для загруженного PDF

library(pdftools)


text <- pdf_text("Data/April2006ChiefsDirectory.pdf")
test <- as.data.frame(text)

Начиная с одного PDF, я хочу перечислить каждого министра в отдельной строке с отдельными столбцами для года, страны, названия и имени.

На этом шаге, который я уже сделал, преобразование PDF-файла в формат .csv без дополнительной очистки, данные находятся в одном столбце, и в каждой строке есть строка текста, содержащая заголовок и имя для нескольких стран.

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

1 Ответ

0 голосов
/ 27 апреля 2019

Вы можете сделать это с помощью tabulizer, но для его очистки потребуется некоторая работа, если вы хотите импортировать все 240 страниц документа.Здесь я импортирую страницу 4, которая является первой с информацией о лидерах

library(tabulizer)


mw_table <- extract_tables(
  "https://www.cia.gov/library/publications/resources/world-leaders-1/pdfs/2019/January2019ChiefsDirectory.pdf",
  output = "data.frame",
  pages = 4,
  area =  list(c(35.68168, 40.88842, 740.97853, 497.74737 )),
  guess = FALSE
  )



head(mw_table[[1]])
#>                   X                Afghanistan
#> 1                   Last Updated:  20 Dec 2017
#> 2             Pres.               Ashraf GHANI
#> 3               CEO     Abdullah ABDULLAH, Dr.
#> 4  First Vice Pres.        Abdul Rashid DOSTAM
#> 5 Second Vice Pres.              Sarwar DANESH
#> 6  First Deputy CEO        Khyal Mohammad KHAN

. Вы можете использовать вектор страниц, который вы хотите импортировать, в качестве аргумента в pages.Учтите, что все имена стран будут похоронены среди имен людей во втором столбце.Возможно, вы сможете разработать метод определения индексов страны, найдя пустые "" вхождения в первом столбце.

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