LoginSignup
77
93

More than 3 years have passed since last update.

PythonでPDFファイルのテーブルデータを読み取る

Last updated at Posted at 2020-04-03

PDFデータ

世の中の人はPDFが大好きなようで、嫌い嫌いと言っていても扱わざるを得ません。しかし、それに何時間もかけるのはちょっと・・・と思うのが人の常です。PDFの表データをしかないというケースもありますが、そのような際に便利なtabula-pyという超便利なライブラリがあったのでメモしておきます。

https://github.com/chezou/tabula-py

tabulaにかんして

tabulaはPDFの表を抽出するためのJavaのライブラリです。tabula-pyはそのラッパとなっております。そのため、利用するためにはJavaのインストールが必要です。

Javaをインストールした後、下のようにするとPythonのライブラリが利用できます。

$ pip install tabula-py

利用方法

利用方法は簡単で、read_pdf関数を用いるとPDFファイルにある表が読み込めます。事例には厚生労働省の新型コロナウイルス陽性者数(チャーター便帰国者を除く)とPCR検査実施人数を用います。


from tabula import read_pdf

df = read_pdf("https://www.mhlw.go.jp/content/10906000/000618483.pdf")

表の読み込み結果は下のように表示されます。

read_pdf.png

複数表があるため上のようになります。次に取得する表を指定します。

table1.png

上を見るとわかりますが、表はpandasのデータテーブルの形になっています。超便利ですね。このPDFファイルでは2列にデータが分かれているため、表をがっちゃんこする必要があります。この際もデータテーブルなのでpandasのconcat関数を用いることができます。

table2.png

データフレームであるため、可視化も容易です。

table3.png

という感じで、tabula-pyを使うことで、PDFの表データも簡単に取れますね!

77
93
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
77
93