Python计算PDF文件每页上的每封电子邮件

我正在尝试计算这个 1537 页的 pdf 文件中包含 @twitter 或 @facebook 的每个字符串。我初始化了一个计数器,每当页面找到 @twitter 或 @facebook 时,该计数器就会关闭,但计数器只是计算页面数量,而不是包含 facebook 或 twitter 的电子邮件数量。我正在使用 python 3 并导入 pdftotext 来读取文件。这是代码


import pdftotext

count = 0

# 1 read the pdf

with open('Users.pdf', 'rb') as f:

    pdf = pdftotext.PDF(f)


# loop thru pages

for page in pdf:

    if '@facebook' in page or '@twitter' in page:

        count += 1



print(count)


输出:


1537

这是文件的页数


慕斯709654
浏览 85回答 1
1回答

哈士奇WWW

您应该使用正则表达式匹配来实现您想要做的事情。import pdftotextimport recount = 0# 1 read the pdfwith open('Users.pdf', 'rb') as f:    pdf = pdftotext.PDF(f)# regex patternpattern = '@facebook|@twitter'# loop thru pagesfor page in pdf:    count += len(re.findall(pattern, page))print(count)要检查并尝试您的正则表达式模式,我推荐Regex101。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python