Очистка данных из PDF с использованием R - PullRequest
0 голосов
/ 20 ноября 2018

Я хотел бы извлечь данные (прыжки с лыж) из этого PDF http://medias4.fis -ski.com / pdf / 2019 / JP / 3088 / 2019JP3088RL.pdf

Меня интересуют все данные, кроме нагрудник , клуб и дата рождения

Я пытался с pdftools библиотека

pdf_text("raw/data.pdf") %>% strsplit(split = "\n")

и я застрял здесь. Проблема в том, что столбец указывает (компенсация затвора) иногда пуст, а иногда нет Я не знаю, как с этим справиться.

Мой желаемый вывод - что-то вроде этого:

Rank|Athlete       |Nation|(...)|Jump_1|Round_1|Jump_2|Round_2|Tot_points
1   |KLIMOV Evgeniy|RUS   |(...)|127.5 |130    |131.5 |133.4  |263.4

Кто-нибудь может мне помочь?

1 Ответ

0 голосов
/ 20 ноября 2018

Проверьте это:

library(tidyverse)
text<-pdftools::pdf_text("http://medias4.fis-ski.com/pdf/2019/JP/3088/2019JP3088RL.pdf")

list<-str_remove_all(text,"\\X+?TOTAL\\s+RANK\n") %>% 
  str_trim() %>% 
  str_split("\n\\s{10,}(?=\\p{L})") %>% 
  modify_depth(1,~str_split(.x,"\\s{2,}") %>%
                   map(~.x[1:13] %>% 
                         set_names(paste0("x",1:13))) 
                   )
## Just the first page
df<-bind_rows(!!!list[[1]])

Это не окончательное решение, но некоторый прогресс.

...