#!/usr/bin/env python3 # -*- coding: utf-8 -*- import json import shutil from datetime import datetime def main(): print("🚀 开始替换岗位面试状态数据...") # 创建备份 timestamp = datetime.now().strftime("%Y%m%d_%H%M%S") backup_path = f"src/data/interviewStatus.json.backup_{timestamp}" shutil.copy2("src/data/interviewStatus.json", backup_path) print(f"📦 已创建备份: {backup_path}") # 读取视觉设计岗位面试状态数据 print("📖 读取视觉设计岗位面试状态数据...") with open("网页未导入数据/视觉设计产业/视觉设计岗位面试状态.json", "r", encoding="utf-8") as f: visual_design_data = json.load(f) print(f"✅ 成功读取 {len(visual_design_data)} 个视觉设计岗位面试状态") # 转换数据格式 converted_data = [] for item in visual_design_data: try: position_name = item["查询岗位名称"] # 构建阶段日期字符串 stage_date = "" if item["流程标签"] == "收到Offer": stage_date = f"收到Offer:{item['流程时间']}" elif item["流程标签"] == "面试通过": stage_date = f"面试结果:{item['流程时间']}" elif item["流程标签"] == "面试完成": stage_date = f"面试完成:{item['流程时间']}" elif item["流程标签"] == "简历通过": stage_date = f"简历通过:{item['流程时间']}" elif item["流程标签"] == "简历未通过": stage_date = f"简历未通过:{item['流程时间']}" elif item["流程标签"] == "简历接收": stage_date = f"简历接收:{item['流程时间']}" elif item["流程标签"] == "面试日期已过": stage_date = f"面试未通过:{item['流程时间']}" else: stage_date = f"{item['流程标签']}:{item['流程时间']}" # 转换面试状态 interview_status = item["内容"] converted_item = { "查询岗位名称": position_name, "阶段日期": stage_date, "面试状态": interview_status } converted_data.append(converted_item) print(f"✅ 处理岗位: {position_name}") except KeyError as e: print(f"❌ 处理岗位 {item.get('查询岗位名称', '未知')} 时缺少字段: {e}") continue except Exception as e: print(f"❌ 处理岗位 {item.get('查询岗位名称', '未知')} 时发生错误: {e}") continue # 写入文件 print(f"💾 写入 {len(converted_data)} 个岗位面试状态到 src/data/interviewStatus.json") with open("src/data/interviewStatus.json", "w", encoding="utf-8") as f: json.dump(converted_data, f, ensure_ascii=False, indent=2) # 替换统计 print("📊 替换统计:") print(f" - 视觉设计岗位面试状态数: {len(visual_design_data)}") print(f" - 成功处理岗位数: {len(converted_data)}") print("✅ 已更新 src/data/interviewStatus.json") # 显示部分替换的岗位 print("📋 替换的岗位面试状态包括:") for i, item in enumerate(converted_data[:5], 1): print(f" {i}. {item['查询岗位名称']} - {item['阶段日期']}") if len(converted_data) > 5: print(f" ... 还有 {len(converted_data) - 5} 个岗位") print("🎉 处理完成!") if __name__ == "__main__": main()