Files
online_sys/frontend_大健康/replace_with_health_data.py
KQL a7242f0c69 Initial commit: 教务系统在线平台
- 包含4个产业方向的前端项目:智能开发、智能制造、大健康、财经商贸
- 已清理node_modules、.yoyo等大文件,项目大小从2.6GB优化至631MB
- 配置完善的.gitignore文件

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2025-12-12 18:16:55 +08:00

162 lines
5.9 KiB
Python
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
import json
import re
print("开始替换为大健康产业数据...")
# 读取大健康岗位简历数据
with open('/Users/apple/Documents/cursor/教务系统/frontend_大健康/网页未导入数据/大健康产业/大健康岗位简历.json', 'r', encoding='utf-8') as f:
health_data = json.load(f)
# 按岗位群分组
position_groups = {}
for item in health_data:
group_name = item['简历岗位群']
if group_name not in position_groups:
position_groups[group_name] = []
position_groups[group_name].append(item)
# 创建岗位群ID映射
group_id_map = {
'健康管理': 'health_management',
'健康检查': 'health_check',
'康复治疗': 'rehabilitation',
'慢性病管理': 'chronic_disease',
'轻医美': 'medical_beauty',
'社群运营': 'community_operation',
'心理健康': 'mental_health',
'药品供应链管理': 'pharma_supply',
'药品生产': 'pharma_production',
'药品质量检测': 'pharma_quality',
'药物研发': 'pharma_research'
}
# 生成industries数组
industries = []
for idx, (group_name, items) in enumerate(position_groups.items(), 1):
group_id = group_id_map.get(group_name, f'health_{idx}')
# 创建岗位群对象
industry = {
'id': group_id,
'name': group_name,
'positions': [],
'questions': []
}
# 处理该岗位群的所有岗位
position_idx = 1
questions_added = False
for item in items:
# 添加岗位
position = {
'id': f"{group_id}_{position_idx}",
'title': item['岗位名称'],
'level': item['岗位等级标签'],
'department': group_name,
'type': '全职',
'experience': '1-3年',
'education': '大专',
'salary': '6-10K',
'location': '北京',
'updateTime': '2024-01-20',
'description': f"{item['岗位名称']}职位描述",
'requirements': [
f"熟悉{group_name}相关工作",
"具有良好的沟通能力",
"有相关工作经验优先"
]
}
industry['positions'].append(position)
position_idx += 1
# 添加面试题(只添加一次)
if not questions_added and item.get('面试题内容'):
# 解析面试题内容
content = item['面试题内容']
# 提取大类问题
sections = re.findall(r'#\s*([一二三四五六七八九十]+、[^\\n]+)\\n(.*?)(?=#\s*[一二三四五六七八九十]+、|$)', content, re.DOTALL)
if sections:
for section_idx, (section_title, section_content) in enumerate(sections, 1):
# 提取具体问题
questions = re.findall(r'(\d+\.\s*[^\\n]+)\\n\\s*示例答案[:]\\n(.*?)(?=\\d+\.|$)', section_content, re.DOTALL)
if questions:
subQuestions = []
for q_idx, (question_text, answer_text) in enumerate(questions, 1):
subQuestions.append({
'id': f'q{q_idx}',
'question': question_text.strip(),
'answer': answer_text.strip()
})
if subQuestions:
industry['questions'].append({
'id': f"{group_id}_q{section_idx}",
'question': section_title.strip(),
'subQuestions': subQuestions[:3] # 只取前3个问题
})
questions_added = True
# 如果没有面试题,添加默认的
if not industry['questions']:
industry['questions'].append({
'id': f"{group_id}_q1",
'question': f"{group_name}岗位群面试题",
'subQuestions': [
{
'id': 'q1',
'question': f"您如何理解{group_name}工作的核心要点?",
'answer': f"{group_name}工作需要专业知识、实践经验和良好的沟通能力。"
},
{
'id': 'q2',
'question': f"{group_name}领域,您认为最重要的技能是什么?",
'answer': f"最重要的是专业技术能力、团队协作能力和持续学习能力。"
},
{
'id': 'q3',
'question': f"您为什么选择{group_name}这个职业方向?",
'answer': f"我对{group_name}领域充满热情,希望在这个领域深耕发展。"
}
]
})
industries.append(industry)
# 生成resumeTemplates对象
resumeTemplates = {}
for group_name, items in position_groups.items():
templates = []
for item in items:
template = {
'position': item['岗位名称'],
'level': item['岗位等级标签'],
'content': {
'original': item['简历内容'],
'modified': item['简历内容'] # 使用相同内容作为modified版本
}
}
templates.append(template)
resumeTemplates[group_name] = templates
# 保存转换后的数据
output = {
'industries': industries,
'resumeTemplates': resumeTemplates
}
with open('/Users/apple/Documents/cursor/教务系统/frontend_大健康/health_mock_data.json', 'w', encoding='utf-8') as f:
json.dump(output, f, ensure_ascii=False, indent=2)
print(f"\n✓ 数据转换完成!")
print(f" - 生成了 {len(industries)} 个岗位群")
print(f" - 总计 {sum(len(ind['positions']) for ind in industries)} 个岗位")
print(f" - 数据已保存到 health_mock_data.json")
print("\n下一步:将生成的数据替换到 resumeInterviewMock.js 中")