✍️

pdf を読み込みテキストファイルに書き出す

2023/12/29に公開

pdfファイルから値を取得してグラフを書きたいと思ったときにしたことです。

環境

  • python 3.7
  • windows 10

ライブラリの導入

pip install pypdf

コードを書く

コンソール上に結果を出力する

ファイル拡張子は.ipynbにする

from pypdf import PdfReader
path = 'work/to/pdf/xxx.pdf'
reader = PdfReader(path)
for i in range(len(reader.pages)):
    page = reader.pages[i]
    text += page.extract_text()

print(text)

ディレクトリのファイルをすべて読み込み

前提: ディレクトリ内にpdfファイルしかない

from os import walk
import os
for (dirpath, dirnames, filenames) in walk(os.path.join(os.getcwd())):
    for i,f in enumerate(filenames):
      reader = PdfReader(os.path.join(dirpath, f))
      for j in range(len(reader.pages)):
          page = reader.pages[j]
          text = page.extract_text()

ファイルに書き出す

          with open(os.path.join(os.getcwd(),'output',f'{f}.txt') , mode='w',encoding='shift_jis') as f:
            f.write(text)
          break
  • もじばけしたのでencoding='shift_jis'を追加

Discussion