Хочу проанализировать PDF-файлы, чтобы получить соответствующую информацию.
Использую pypdf и могу извлечь текст, но форматирование во что-то полезное — это немного утомительно, потому что это выглядит PDF-файлы имеют формат, а не простой текст.
Например, нужно извлечь «Актив», «Тип транзакции» и «Сумму» из таблицы:
https://disclosures-clerk.house.gov/pub ... 017693.pdf
Если я не могу извлечь таблицу ( заголовки и все такое), я хотел бы извлечь тикер (например, «(CSCO)»), тип актива (например, «[ST]» здесь), тип транзакции (например, «S») и сумму по отдельности.
Ниже позволяет мне проанализировать весь текст, но то, что я пока возвращаю, немного коряво и интересно, есть ли лучший способ.
import pypdf
import io
import requests as re
import pandas as pd
from bs4 import BeautifulSoup
import pickle
import fnmatch
import re as rx
url = 'https://disclosures-clerk.house.gov/pub ... 017693.pdf'
c = io.BytesIO(re.get(url = url).content)
pdf = pypdf.PdfReader(c)
text = ""
for page in pdf.pages:
text += page.extract_text() + "\n"
substring = text.split("\n")
holding = fnmatch.filter(substring, '*(*)*')
htype = fnmatch.filter(substring, '*[[]*[]]*')
Подробнее здесь: https://stackoverflow.com/questions/784 ... -in-python