Files
ALL-teach_sys/frontend_能源/updateProjectData.py

76 lines
2.5 KiB
Python
Raw Normal View History

#!/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数组请检查文件格式")