【R】pdftools

1. はじめに

PDFのデータって、世の中にあふれていますよね。このデータをRで処理できるとすばらしいですよね。で、それを実現してくれるパッケージがpdftoolsです。これを実際に使ってみます。PDFの情報・文章をRでごっそり取得するサイトも参考にさせていただきました。

2. インストール

CRANからインストールします。

install.packages('pdftools')

3. 使ってみる

Freee株式会社の決算短信を読込んでみます。pdf_infoでpdfの情報を取得できます。

library(pdftools)
library(RCurl)
fileUrl <- "https://contents.xj-storage.jp/xcontents/AS08692/e81d836e/ec80/4996/9a5c/8b8aac75d753/20200515150802242s.pdf"
download.file(fileUrl, destfile = "./freee.pdf", mode="wb")

res.info <- pdf_info("freee.pdf")
res.info %>% names()
> res.info %>% names()
 [1] "version"     "pages"       "encrypted"   "linearized"  "keys"        "created"     "modified"    "metadata"   
 [9] "locked"      "attachments" "layout"     

テキストマイニングするには、pdf_text()関数でテキストを取得すると便利です。

res <- pdf_text("freee.pdf")

データはページごとに取得されます。バランスシート(p.6)を読み込んで、主要な資産、負債、純資産を表示させてみましょう。

BS_page <- 6
sum_current_assets <- "流動資産合計"
sum_fixed_assets <- "固定資産合計"
sum_current_debt <- "流動負債合計"
sum_fixed_debt <- "固定負債合計"
sum_net_worth <- "純資産合計"

dat <- res[BS_page] %>%
  str_replace_all(pattern = ",", replacement = "") %>%
  str_split(pattern = "\r\n") %>%
  str_squish()%>%
  str_split(pattern = '\", \"') %>%
  as.data.frame() 

dat %>% 
  filter(grepl(sum_current_assets, dat[,1]) | 
           grepl(sum_fixed_assets, dat[,1]) | 
           grepl(sum_current_debt, dat[,1]) | 
           grepl(sum_fixed_debt, dat[,1]) | 
           grepl(sum_net_worth, dat[,1])) 
  c..c....フリー株式会社.4478..2020年6月期.第3四半期決算短信...
1                                   流動資産合計 6616153 16967509
2                                  無形固定資産合計 377351 681593
3                                     固定資産合計 764804 1218114
4                                    流動負債合計 2870902 3592985
5                                     純資産合計 4510056 14592638
6                                 負債純資産合計 7380958 18185624

PDFファイルにある2期分のデータを取得できました。

4. さいごに

pdfでのみしか公開されていない資料がたくさんあります。このパッケージを使うと、このようなデータでも活用できそうですね。

Add a Comment

メールアドレスが公開されることはありません。