Я хочу извлечь данные таблицы из PDF-файла с несколькими страницами с помощью PyPDF2. Мой скрипт должен быть в состоянии извлечь любой PDF-файл и поместить данные в фрейм данных. Моя проблема в том, что я не могу выбрать только одну страницу для извлечения. Я пробовал много способов перебирать индекс страницы, но это не сработало. Извлекает только последнюю страницу документа PDF. Есть ли способ извлечь все страницы и поместить все данные из него в один фрейм данных?
В этом примере мой PDF-документ состоит из двух страниц (первая страница - 0). Мой код:
from PyPDF2 import PdfFileWriter
import pandas as pd
page_counter = 0
page_list = []
pdf_file = open('test.pdf', 'rb')
read_pdf = PyPDF2.PdfFileReader(pdf_file)
number_of_pages = read_pdf.getNumPages()
for page_number in range(number_of_pages):
#import pdb; pdb.set_trace()
page = read_pdf.getPage(page_number)
page_content = page.extractText()
if '\n' in page_content:
page_content = page_content.replace('\n','')
if ',' in page_content:
page_content = page_content.replace(',',' ')
page_content = page_content.split(', ')
df = pd.DataFrame([sub.split(",") for sub in page_content])
df.head()