使用 pdftotext 提取特定数据

Extracting particular data using pdftotext

我正在使用 pdftotext Python 库从 PDF 文档中提取一些数据。

import pdftotext

# Load your PDF
with open("text2.pdf", "rb") as f:
    pdf = pdftotext.PDF(f)


# How many pages?
print(len(pdf))



data = "\n\n".join(pdf)
# Read all the text into one string
print(data)

提取的数据为:

Account Name               :Mr. SX
Account Name               :Mr. XX XX XX
Address                  : Address detaisls
                      
Date                        :7 Sep 2021
Account Number               :00000031873583221
Account Description          :REGULAR SB CHQ-INDIVIDUALS
Branch                      :SSI 
Drawing Power               :0.00

整个数据都是字符串,但我只想提取帐号。 我使用正则表达式:

^(Account\s+Number).*$

但无法弄清楚如何从整个字符串中提取数据。

你可以试试:

>>> '\n'.join([re.sub(r'Account Number\s+:', '', line) for line in data.splitlines() if 'Account Number' in line])
'00000031873583221'
>>> 

没有正则表达式更容易:

>>> '\n'.join([line.split(':')[-1] for line in data.splitlines() if 'Account Number' in line])
'00000031873583221'
>>>