我一直在尝试tabulizer
避免硬编码解析,这可能会随着下一份报告而改变。我想知道你们是否有更好的想法。
library(tabulizer)
library(tidyverse)
who <- "https://www.who.int/docs/default-source/coronaviruse/situation-reports/20200309-sitrep-49-covid-19.pdf"
page1 <- tabulizer::extract_tables(who, pages = 4, output = "data.frame") %>%
as.data.frame() %>%
slice(5:n()) %>%
select(-`X.1`)
page2 <- tabulizer::extract_tables(who, pages = 5, output = "data.frame") %>%
as.data.frame() %>%
rbind(colnames(.))
page3 <- tabulizer::extract_tables(who, pages = 6, output = "data.frame") %>%
as.data.frame() %>%
rbind(colnames(.))
colnames(page2) <- colnames(page1)
colnames(page3) <- colnames(page1)
dat <- page1 %>% rbind(page2) %>% rbind(page3)
如果您运行它,您会注意到需要删除区域和总计,但页面拆分和高行是我遇到问题的地方。