import pandas as pd
import os
import re
from datetime import datetime
# 定义常量
COLUMN_NAMES = ['姓名', '得分', '总耗时', '笔试评价', '手机', '学校', '学历', '专业', '查看评卷', '邮箱', '应聘职位', '一面评价&定薪'] # 列名
FILTER_CONDITION_EVALUATION = '淘汰' # 过滤条件评价
INTERVIEW_EVALUATION_COLUMN = '一面评价&定薪' # 一面评价&定薪列名
REVIEW_LINK_TEXT = '查看' # 查看评卷链接文本
TIME_FORMAT = "%Y-%m-%d %H:%M:%S.%f" # 时间格式
TIME_PRECISION = -3 # 时间精度
STATUS_REGEX = r'\((\d+ 分钟)\)' # 状态正则表达式
DEFAULT_INTERVIEW_EVALUATION = '' # 默认一面评价
EXAM_BOARD_SUFFIX = '的笔试' # 笔试板后缀
STATUS_COLUMN = '状态' # 状态列名
EVALUATION_COLUMN = '评价' # 评价列名
PHONE_COLUMN = '手机' # 手机列名
SCHOOL_COLUMN = '学校' # 学校列名
EDUCATION_COLUMN = '学历' # 学历列名
MAJOR_COLUMN = '专业' # 专业列名
EXAM_REVIEW_COLUMN = '查看评卷' # 查看评卷列名
EMAIL_COLUMN = '邮箱' # 邮箱列名
APPLY_POSITION_COLUMN = '应聘职位' # 应聘职位列名
EXAM_BOARD_COLUMN = '笔试板' # 笔试板列名
SCORE_COLUMN = '得分' # 得分列名
EXAM_EVALUATION_COLUMN = '笔试评价' # 笔试评价列名
DEFAULT_VALUE = '' # 默认值为空字符串
# 定义岗位参数
POSITIONS = {
'Java': {
'intern': 'java后端实习生',
'engineer': '后端开发工程师',
'senior_engineer': 'java高级后端开发工程师',
'score_definitions': [
(50, '**低分,爱来不来**'),
(60, '**可挽留,能干活**'),
(75, '**及格,还行**'),
(85, '**优秀**'),
(float('inf'), '**极力挽留**')
],
'filter_score': 50
},
'Testing': {
'intern': '测试实习生', # 假设有测试实习生岗位
'engineer': '测试工程师',
'senior_engineer': '高级测试工程师',
'score_definitions': [
(55, '**低分,爱来不来**'),
(60, '**可谈薪,评估一下**'),
(75, '**还行**'),
(85, '**优秀**'),
(float('inf'), '**极力挽留**')
],
'filter_score': 50
},
'Product': {
'manager': '产品经理',
'senior_manager': '高级产品经理/产品总监',
'score_definitions': [
(50, '**低分,爱来不来**'),
(60, '**可谈薪,评估一下**'),
(70, '**可挽留,能干活**'),
(80, '**及格,还行**'),
(90, '**优秀**'),
(float('inf'), '**极力挽留**')
],
'filter_score': 50
},
# 添加其他岗位的定义...
}
def scan_resume_directory(directory):
files = os.listdir(directory)
resume_files = [f for f in files if os.path.isfile(os.path.join(directory, f))]
return resume_f