Files
ALL-teach_sys/frontend_视觉设计/replace_interview_status_data.py

91 lines
3.6 KiB
Python
Raw Normal View History

#!/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()