首页 > 解决方案 > 如何从 PDF 中干净地提取多页表?

问题描述

我一直在尝试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)

如果您运行它,您会注意到需要删除区域和总计,但页面拆分和高行是我遇到问题的地方。

标签: rtabulizer

解决方案


推荐阅读