import pdfplumber import pandas as pd pdf = pdfplumber.open("gaiyo2.pdf") page = pdf.pages[6] # cropで範囲指定 crop = page.within_bbox((0, 120, page.width, 700)) table_settings = { # 垂直基準 "vertical_strategy": "lines", # 水平基準 "horizontal_strategy": "text", # テキストの左端と右端が垂直線と完全に一致していない場合の許容値 "intersection_tolerance": 10, } table = page.extract_table(table_settings) df = pd.DataFrame(table) df.to_csv("data.csv", encoding="utf_8_sig")