#!/usr/bin/env python3 # -*- coding: utf-8 -*- import json from collections import defaultdict def load_health_data(): """加载大健康岗位数据""" with open('网页未导入数据/大健康产业/大健康岗位简历.json', 'r', encoding='utf-8') as f: resume_data = json.load(f) return resume_data def map_level_to_key(level_tag): """将岗位等级标签映射到joblevel的key""" level_map = { '基础岗': 'ordinary', '技术骨干岗': 'middle', '储备干部岗': 'high', '普通岗': 'ordinary' } return level_map.get(level_tag, 'ordinary') def map_level_to_name(level_tag): """将岗位等级标签映射到显示名称""" level_name_map = { '基础岗': '普通岗', '技术骨干岗': '技术骨干岗', '储备干部岗': '储备干部岗', '普通岗': '普通岗' } return level_name_map.get(level_tag, '普通岗') def create_joblevel_data(resume_data): """创建joblevel.json的数据结构""" # 按等级分组 level_groups = { 'high': { 'name': '储备干部岗', 'list': [] }, 'middle': { 'name': '技术骨干岗', 'list': [] }, 'ordinary': { 'name': '普通岗', 'list': [] } } # 处理每个岗位 record_id = 1 for item in resume_data: level_key = map_level_to_key(item['岗位等级标签']) position_info = { 'record_id': f'health_{record_id}', 'position_name': item['岗位名称'], 'img': item['简历头像url'] } level_groups[level_key]['list'].append(position_info) record_id += 1 # 构建最终的JSON结构 result = { 'code': 200, 'message': '操作成功', 'data': level_groups } return result def save_joblevel_data(data): """保存joblevel数据""" # 备份原文件 import os import shutil from datetime import datetime original_file = 'src/data/joblevel.json' if os.path.exists(original_file): timestamp = datetime.now().strftime('%Y%m%d_%H%M%S') backup_file = f'{original_file}.backup_{timestamp}' shutil.copy(original_file, backup_file) print(f"已备份原文件到: {backup_file}") # 保存新数据 with open(original_file, 'w', encoding='utf-8') as f: json.dump(data, f, ensure_ascii=False, indent=4) print(f"✅ 已更新 {original_file}") return True def print_statistics(data): """打印统计信息""" job_data = data['data'] print("\n📊 岗位等级分布统计:") for level_key, level_info in job_data.items(): count = len(level_info['list']) print(f" {level_info['name']}: {count} 个岗位") # 打印前3个岗位示例 for i, job in enumerate(level_info['list'][:3]): print(f" - {job['position_name']}") if count > 3: print(f" ... 还有 {count - 3} 个岗位") def main(): print("开始生成大健康产业的joblevel数据...") # 加载数据 resume_data = load_health_data() print(f"加载了 {len(resume_data)} 个岗位数据") # 创建joblevel数据结构 joblevel_data = create_joblevel_data(resume_data) # 保存数据 save_joblevel_data(joblevel_data) # 打印统计信息 print_statistics(joblevel_data) print("\n✅ 数据生成完成!") if __name__ == "__main__": main()