python - 将关键字与 PDF 文件进行比较
问题描述
这是通过文件夹名称调用文件并提取数据的程序。现在我想将数据与我在下面程序中使用的关键字进行比较。但它给了我:
pdfReader = pdfFileObj.loadPage(0)
AttributeError: '_io.BufferedReader' object has no attribute 'loadPage'
我想删除错误并将关键字与提取的数据进行比较。我在这个程序中使用了 PyMuPDF 库。
import fitz
import os
pdfFiles = []
for filename in os.listdir('resume/'):
if filename.endswith('.pdf'):
print(filename)
# pdfFiles.append(filename)
os.chdir('C:/Users/M. Abrar Hussain/Desktop/cv/resume')
print('Current working dir : %s' % os.getcwd())
pdfFileObj = open(filename, 'rb')
pdfReader = pdfFileObj.loadPage(0)
with fitz.open(pdfFileObj) as doc:
text = ""
for page in doc:
text += page.getText()
print(text)
# split the docs
pageObj = pdfReader.getpage(0)
t1 = (pageObj.getText())
t1 = t1.split(",")
search_keywords = ['python', 'Laravel', 'Java']
for sentence in t1:
lst = []
for word in search_keywords:
if word in search_keywords:
list.append(word)
print('{0} key word(s) in sentence: {1}'.format(len(lst), ', '.join(lst)))
pdfFileObj.close()
解决方案
你错过了两行:import PyPDF2
和pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
请注意,这getPage(0)
将返回页码 0 对象,在您的 for 循环中,您不断阅读同一页面,如果您想阅读每个迭代新页面,您应该检查文档中有多少页并创建从 0 到运行的 i 参数pdfReader.numPages
.
import fitz
import os
import PyPDF2
pdfFiles = []
for filename in os.listdir('resume/'):
if filename.endswith('.pdf'):
print(filename)
# pdfFiles.append(filename)
os.chdir('C:/Users/M. Abrar Hussain/Desktop/cv/resume')
print('Current working dir : %s' % os.getcwd())
pdfFileObj = open(filename, 'rb')
pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
pageObj = pdfReader.getPage(0)
with fitz.open(pdfFileObj) as doc:
text = ""
for page in doc:
text += page.getText()
print(text)
# split the docs
pageObj = pdfReader.getPage(0)
t1 = (pageObj.getText())
t1 = t1.split(",")
search_keywords = ['python', 'Laravel', 'Java']
for sentence in t1:
lst = []
for word in search_keywords:
if word in search_keywords:
list.append(word)
print('{0} key word(s) in sentence: {1}'.format(len(lst), ', '.join(lst)))
pdfFileObj.close()
推荐阅读
- wso2 - 将 WSO2_CARBON_DB 从 H2 更改为 MySql
- c# - 如何使用 .NET Core 在多个远程服务器上执行 IISReset?
- uwp - 如何使用 RichTextBlock 显示 html 格式
- apache-poi - 从特定单元格获取数据后读取excel内容
- java - 云模式不支持对非 SortableTextField 的标记化字段进行排序
- hive - 创建没有 ROW FORMATTED 逗号分隔列的配置单元表
- java - 使用 jsoup 抓取数据
- javascript - 带有子组件参数的 React-redux 调度函数未定义
- javascript - ejs动态表单具有所有相同的数据
- python - 使用 Anaconda 设置 Python 环境