使用python在pdf中查找关键字和数据

wfauudbj  于 2023-03-24  发布在  Python
关注(0)|答案(1)|浏览(158)

我试图在财务报表中找到数据。基本上我想找到应付账款,并取其相关值。

  • 例如:应付账款219,200 290,000。
  • 第一个代表2021年,第二个代表2022年。

但我似乎不能让它工作。

我试着打印这些行,看看关键字是否不存在,并试图摆脱$符号,以防万一搞砸了。
This is my Code;

import PyPDF2
import re
# Path: "C:\Users\thavo\Downloads\ECCREPORT.pdf"
# "C:\Users\thavo\Downloads\FY23_Q1_Consolidated_Financial_Statements.pdf"



with open(r"C:\Users\thavo\Downloads\FY23_01_Consolidated_Financial_Statements.pdf", "rb") as file:
    pdf_reader = PyPDF2.PdfReader(file)
    page = pdf reader.pages[0]
    content_of_file = page.extract_text()
    lines_of_desired_page = content_of_file.split("\n")
    print (lines_of_desired_page)
    for line in lines_of_desired_page:
        if "net" in line.lower():
            financial_data = line.strip().split(" ")#[-2:]
            values = [re.sub(',', '', value) for value in financial_data]
            print (values[1])
        else:
            print ("Cant find") 
            break
xytpbqjk

xytpbqjk1#

https://www.apple.com/newsroom/pdfs/FY23_Q1_Consolidated_Financial_Statements.pdf
在尝试提取目标之前,您需要首先检查此类数据是否可提取。
在浏览器中使用任何PDFgrep或类似的“朗读”,我们可以验证是否有恢复的机会

pdftotext -layout FY23_Q1_Consolidated_Financial_Statements.pdf -|find "Accounts payable"

     Accounts payable                                                                          !        57,918     !      64,115
         Accounts payable                                                                  (6,075)          19,813

然而,我看不到你在报告中给予的第一个数字作为样本!!
这表明,如果您希望提取219,000,则它与本文档中的这些字符无关,因此需要更重的询问。也许它总共有4个季度报告,因此需要选择和求和,只需保存2 x 4值,然后添加2组4即可轻松完成,并将2年的产出反转为2021 + 2022。还请注意,本季度的较大产出是2021年而不是2022年,即向下,因此与您的乐观指标相反,但查看毛额更具指示性:-

12 Month Gross Margin 
September 2021= $ 152,836,000,000
September 2022= $ 170,782,000,000

以下是本季度与净资产相关的所有项目的结果,其中最大的数字是

Three Months Ended
                                                          December 31,    December 25,
                                                             2022             2021
Total net sales                                     !      117,154       !     123,945

相关问题