用Python写一个智能简历分析系统结合OCR写入xlsx要求可以读取Word,PDF,图片。
时间: 2024-02-03 16:15:25 浏览: 138
基于Python实现对PDF文件的OCR识别
5星 · 资源好评率100%
好的,下面是一个简单的智能简历分析系统,可以读取Word、PDF和图片,并将结果写入Excel表格中。
首先需要安装以下库:
- pytesseract
- Pillow
- python-docx
- PyPDF2
- openpyxl
```python
import pytesseract
from PIL import Image
import docx
import PyPDF2
import os
from openpyxl import Workbook
from openpyxl.utils import get_column_letter
# 将文字写入Excel表格中
def write_to_excel(ws, row, col, text):
column_letter = get_column_letter(col)
cell = ws['{}{}'.format(column_letter, row)]
cell.value = text
# 遍历文件夹中的所有文件
def traverse_folder(folder_path):
file_list = []
for root, dirs, files in os.walk(folder_path):
for file in files:
file_path = os.path.join(root, file)
file_list.append(file_path)
return file_list
# 解析图片文件
def parse_image(file_path):
img = Image.open(file_path)
text = pytesseract.image_to_string(img, lang='eng')
return text
# 解析Word文件
def parse_word(file_path):
doc = docx.Document(file_path)
text = ''
for para in doc.paragraphs:
text += para.text + '\n'
return text
# 解析PDF文件
def parse_pdf(file_path):
with open(file_path, 'rb') as f:
pdf_reader = PyPDF2.PdfFileReader(f)
text = ''
for page_num in range(pdf_reader.getNumPages()):
page = pdf_reader.getPage(page_num)
text += page.extractText()
return text
# 分析简历内容,返回关键信息
def analyze_resume(text):
# TODO: 在这里编写分析简历内容的代码
pass
if __name__ == '__main__':
# 设置文件夹路径
folder_path = 'resume_folder'
# 遍历文件夹中的所有文件
file_list = traverse_folder(folder_path)
# 创建Excel表格
wb = Workbook()
ws = wb.active
write_to_excel(ws, 1, 1, '文件名')
write_to_excel(ws, 1, 2, '姓名')
write_to_excel(ws, 1, 3, '电话')
write_to_excel(ws, 1, 4, '邮箱')
# 解析文件并写入Excel表格中
for i, file_path in enumerate(file_list):
row = i + 2
file_name = os.path.basename(file_path)
write_to_excel(ws, row, 1, file_name)
if file_path.endswith('.docx'):
text = parse_word(file_path)
elif file_path.endswith('.pdf'):
text = parse_pdf(file_path)
else:
text = parse_image(file_path)
results = analyze_resume(text)
write_to_excel(ws, row, 2, results['name'])
write_to_excel(ws, row, 3, results['phone'])
write_to_excel(ws, row, 4, results['email'])
# 保存Excel表格
wb.save('resume_analysis.xlsx')
```
以上代码中,`traverse_folder`函数用于遍历指定文件夹中的所有文件;`parse_image`、`parse_word`和`parse_pdf`函数分别用于解析图片、Word和PDF文件;`analyze_resume`函数用于分析简历内容,这里需要根据具体需求编写相应的代码。
最后,将解析结果写入Excel表格中,并保存为`resume_analysis.xlsx`文件。
阅读全文