#!/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) # 按照单元分组项目 unit_projects = {} for item in raw_data: # 获取单元名称(优先使用垂直能力课) unit = item.get('对应单元名称(垂直能力课)') or item.get('对应单元名称(复合能力课)', '未分类') if unit not in unit_projects: unit_projects[unit] = [] # 添加项目名称(限制每个单元最多2-3个项目) if len(unit_projects[unit]) < 3: unit_projects[unit].append(item['案例名称']) # 生成myProjectsData格式 my_projects_data = [] for unit_name, projects in unit_projects.items(): if projects: # 只添加有项目的单元 my_projects_data.append({ "unitName": unit_name, "projects": projects }) # 生成新的myProjectsData内容 my_projects_content = json.dumps(my_projects_data, ensure_ascii=False, indent=2) # 读取现有的页面文件 with open('src/pages/ProjectLibraryPage/index.jsx', 'r', encoding='utf-8') as f: content = f.read() # 找到myProjectsData数组的开始和结束位置 pattern = r'const myProjectsData = \[(.*?)\];' match = re.search(pattern, content, re.DOTALL) if match: # 替换myProjectsData数组内容 new_content = content[:match.start()] + f'const myProjectsData = {my_projects_content};' + content[match.end():] # 写回文件 with open('src/pages/ProjectLibraryPage/index.jsx', 'w', encoding='utf-8') as f: f.write(new_content) print(f"✅ 成功更新我的项目数据!") print(f"- 单元总数: {len(my_projects_data)}") total_projects = sum(len(unit['projects']) for unit in my_projects_data) print(f"- 项目总数: {total_projects}") print("- 单元列表:") for unit in my_projects_data[:5]: # 只显示前5个 print(f" - {unit['unitName']}: {len(unit['projects'])}个项目") if len(my_projects_data) > 5: print(f" ... 还有{len(my_projects_data) - 5}个单元") else: print("❌ 未找到myProjectsData数组,请检查文件格式")