我正在尝试计算这个 1537 页的 pdf 文件中包含 @twitter 或 @facebook 的每个字符串。我初始化了一个计数器,每当页面找到 @twitter 或 @facebook 时,该计数器就会关闭,但计数器只是计算页面数量,而不是包含 facebook 或 twitter 的电子邮件数量。我正在使用 python 3 并导入 pdftotext 来读取文件。这是代码import pdftotextcount = 0# 1 read the pdfwith open('Users.pdf', 'rb') as f: pdf = pdftotext.PDF(f)# loop thru pagesfor page in pdf: if '@facebook' in page or '@twitter' in page: count += 1print(count)输出:1537这是文件的页数
1 回答
哈士奇WWW
TA贡献1799条经验 获得超6个赞
您应该使用正则表达式匹配来实现您想要做的事情。
import pdftotext
import re
count = 0
# 1 read the pdf
with open('Users.pdf', 'rb') as f:
pdf = pdftotext.PDF(f)
# regex pattern
pattern = '@facebook|@twitter'
# loop thru pages
for page in pdf:
count += len(re.findall(pattern, page))
print(count)
要检查并尝试您的正则表达式模式,我推荐Regex101。
添加回答
举报
0/150
提交
取消