#!/usr/bin/env python3 # -*- coding: utf-8 -*- import json import re # 读取智能制造项目案例数据 with open('网页未导入数据/智能制造产业/智能制造项目案例.json', 'r', encoding='utf-8') as f: raw_data = json.load(f) # 转换班级项目数据格式 projects = [] for idx, item in enumerate(raw_data): # 提取岗位名称列表 positions = [] if item.get('对应个人简历名称'): positions = [p.strip() for p in item['对应个人简历名称'].split(',')] # 确定项目类别 category = '智能制造' direction = item.get('所属垂直方向', '智能制造') # 根据单元名称细分类别 vertical_unit = item.get('对应单元名称(垂直能力课)', '') if '新能源' in vertical_unit: category = '新能源制造' elif 'PLC' in vertical_unit: category = 'PLC控制系统' elif '机器人' in vertical_unit: category = '工业机器人' elif '3D打印' in vertical_unit: category = '3D打印技术' elif '数控' in vertical_unit or 'CNC' in vertical_unit: category = '数控加工' project = { "id": idx + 1, "name": item['案例名称'], "description": direction, "positions": positions, "unit": item.get('对应单元名称(垂直能力课)') or item.get('对应单元名称(复合能力课)'), "direction": direction, "category": category } projects.append(project) # 生成新的projects数组内容 projects_content = json.dumps(projects, ensure_ascii=False, indent=4) # 读取现有的mock文件 with open('src/mocks/projectLibraryMock.js', 'r', encoding='utf-8') as f: content = f.read() # 找到projects数组的开始和结束位置 pattern = r'const projects = \[(.*?)\];' match = re.search(pattern, content, re.DOTALL) if match: # 替换projects数组内容 new_content = content[:match.start()] + f'const projects = {projects_content};' + content[match.end():] # 写回文件 with open('src/mocks/projectLibraryMock.js', 'w', encoding='utf-8') as f: f.write(new_content) print(f"✅ 成功更新班级项目数据!") print(f"- 项目总数: {len(projects)}") categories = {} for p in projects: cat = p['category'] categories[cat] = categories.get(cat, 0) + 1 print("- 类别分布:") for cat, count in categories.items(): print(f" - {cat}: {count}个") else: print("❌ 未找到projects数组,请检查文件格式")