Udemyでもプログラミングを教えていますUdemy

tabulaのconvert_into関数でPDFファイルをExcelに変換

  • URLをコピーしました!

近頃は資料の表がPDFで届くことも増えています。

PDFは容易に書き換えされないといったリットもありますが、何かの資料に使う場合はExcelなどの形式に変換しなければいけません。

今回はPythonを使ってPDFからExcelに変換する⽅法を紹介します。

サンプルPDFファイルは下のボタンからダウンロードすることができます

このパッケージを利⽤するには、PythonのほかにJavaというプログラミング⾔語の実⾏環境も必要です。

https://www.java.com/ja/download/

PDFから表を抜き出すためにtabulaパッケージを使っています。

目次

tabulaパッケージとは?

tabula は、PDF ファイルから CSV および Excel ファイルにデータを抽出するための無料のオープンソース ツールです。 これは Java で記述されており、コマンド ラインから、または Java アプリケーション内のライブラリとして使用できます。 Tabula を使用すると、クリック アンド ドラッグしてデータを強調表示するか、テーブル構造を自動的に検出して、PDF ファイルのテーブルから特定のデータを選択できます。 これは、明確で構造化されたレイアウトを持たない PDF ファイルからデータを抽出する場合に特に便利です。

このパッケージ は 標 準ではインストールされないので、 AnacondaNavigatorを使うか、以下のコマンドでインストールしてください。

conda install tabula-py

to_ex.py

import pandas as pd

import tabula

import os

tabula.convert_into("旅行スケジュール.pdf","作業ファイル.csv",output_format="csv",pages='all')

df=pd.read_csv("作業ファイル.csv",encoding="shift-jis")

with pd.ExcelWriter("旅行スケジュール.xlsx") as writer:

    df.to_excel(writer,index=False)

os.remove(“作業ファイル.csv")

tabulaのconvert_into関数を使うと、PDFファイル内の表をCSVやTSV、JSON などの形式で書き出せます。

CSVファイルで書き出す

CSV(Comma Separated Values)ファイルとは、データをカンマで区切って保存するテキストファイルのことです。CSVファイルは、ExcelやGoogleスプレッドシートなどのスプレッドシートアプリケーションで使用されることが多く、データを交換するときによく使われます。

CSVで書き出したい場合 は「output_format=”csv”」と指定します。また、PDFのページを指定したい場合は「pages=”1-2,3″」のように指定します。

convert_into関数を実⾏すると、カレントディレクトリ内にCSVファイルが作成されます。

convert_into関数とは

convert_into関数は、Pandas パッケージに含まれる関数です。Pandas は、Python でデータを効率的に処理するためのライブラリです。指定したパスにある Excel ファイルを読み込んで、その内容を CSV ファイルに変換して保存することができます。これにより、Excel ファイルを CSV ファイルに変換することができます。

それをread_csv関数で読み込み、to_excelメソッドでExcelファイルを保存します。

read_csv関数とは

read_csv関数は、Pandas パッケージに含まれる関数です。Pandas は、Python でデータを効率的に処理するためのライブラリです。指定したパスにある CSV ファイルを読み込んで、その内容を Pandas のデータフレームとして扱えるようにすることができます。これにより、CSV ファイルを Pandas で処理できるようになります。

この記事が気に入ったら
フォローしてね!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次