PyPDF2 - извлечь все страницы в датафрейм - PullRequest
0 голосов
/ 03 апреля 2020

Я хочу извлечь данные таблицы из 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()
...