7
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【Python】PDFの表データをCSVに変換する

Last updated at Posted at 2023-05-13

PDFなどの非構造化データを、分析や機械学習に利用可能な構造化データに変換し、CSVとして保存したい時ってありますよね。
こんな感じの、表形式のPDFファイル「address.pdf」があるとします。

address.png

これをCSV形式に変換するために、tabula-pyというライブラリを使用します。

tabulaのインポート

pip install tabula-py
from tabula import read_pdf
df = read_pdf("address.pdf", pages="all")

tabulaは読み込んだPDFをpandasのDataFrame型オブジェクトとして返してくれるので、df[0]のようにインデックスで各表データにアクセスできます。

df[0]

こんな感じでデータ一覧が表示されます。
df[0].png

これで、PDFデータの読み込みが完了しました。
ただ、よく見るとPDFをそのまま読み込んだだけなので、不必要なカラムや名称を変更したい行があったりします。
そういった部分を削除・修正して、データを整形していきます。

データの整形

整形したデータを格納する変数「export_data」を用意し、ここにdf[0]を修正した結果を代入していきます。

export_data = df[0]
#不必要なカラムの削除
export_data = export_data.drop("番号", axis=1)
#カラム名の変更
export_data = export_data.rename(columns={"公式サイト":"URL"})
#先頭から5行目までのデータを表示
export_data.head()

dropとrenameを適用しつつ、目的の形にデータを整形していきます。
データを整形できたら、CSV形式で保存します。

export_data.to_csv("address.csv", index=False)

これで、address.pdfをaddress.csvに変換できました。

7
8
0

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
7
8

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?