#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ 替换企业内推岗位数据 将视觉设计内推岗位.json的数据替换到companyJobsNew.json """ import json import shutil from datetime import datetime def replace_company_jobs_data(): """替换企业内推岗位数据""" source_file = "网页未导入数据/视觉设计产业/视觉设计内推岗位.json" target_file = "src/data/companyJobsNew.json" # 创建备份 timestamp = datetime.now().strftime("%Y%m%d_%H%M%S") backup_path = f"{target_file}.backup_{timestamp}" shutil.copy2(target_file, backup_path) print(f"📦 已创建备份: {backup_path}") try: # 读取视觉设计内推岗位数据 print("📖 读取视觉设计内推岗位数据...") with open(source_file, 'r', encoding='utf-8') as f: visual_design_jobs = json.load(f) print(f"✅ 成功读取 {len(visual_design_jobs)} 个视觉设计内推岗位") # 数据字段映射和处理 processed_jobs = [] for job in visual_design_jobs: # 检查必要字段 if not job.get("内推岗位名称"): print(f"⚠️ 跳过缺少岗位名称的数据: {job}") continue # 处理截止时间字段 deadline = job.get("岗位招聘截止时间", "2025/12/31") # 构造符合原始数据结构的格式 processed_job = { "内推岗位名称": job["内推岗位名称"], "薪资": job.get("薪资", "面议"), "工作地点": job.get("工作地点", "待定"), "学历要求": job.get("学历要求", "专科及以上"), "招聘人数": job.get("招聘人数", "1人"), "职位标签": job.get("职位标签", []), "福利标签": job.get("福利标签", []), "职位描述": job.get("职位描述", ""), "任职要求": job.get("任职要求", ""), "公司介绍": job.get("公司介绍", ""), "岗位相关标签": job.get("岗位相关标签", "专业相关岗位"), "截止时间": deadline, "岗位标签": "就业" # 所有岗位都标记为就业岗位 } processed_jobs.append(processed_job) print(f"✅ 处理岗位: {processed_job['内推岗位名称']}") # 写入目标文件 print(f"💾 写入 {len(processed_jobs)} 个岗位到 {target_file}") with open(target_file, 'w', encoding='utf-8') as f: json.dump(processed_jobs, f, ensure_ascii=False, indent=2) print(f"📊 替换统计:") print(f" - 视觉设计岗位数: {len(visual_design_jobs)}") print(f" - 成功处理岗位数: {len(processed_jobs)}") print(f"✅ 已更新 {target_file}") # 显示部分岗位名称作为验证 if processed_jobs: print(f"📋 替换的岗位包括:") for i, job in enumerate(processed_jobs[:5]): # 显示前5个 print(f" {i+1}. {job['内推岗位名称']} - {job['薪资']} - {job['工作地点']}") if len(processed_jobs) > 5: print(f" ... 还有 {len(processed_jobs) - 5} 个岗位") except FileNotFoundError: print(f"❌ 文件未找到: {source_file}") except json.JSONDecodeError as e: print(f"❌ JSON格式错误: {e}") except Exception as e: print(f"❌ 处理失败: {e}") # 恢复备份 shutil.copy2(backup_path, target_file) print("🔄 已恢复原始文件") if __name__ == "__main__": print("🚀 开始替换企业内推岗位数据...") replace_company_jobs_data() print("🎉 处理完成!")