91 lines
3.6 KiB
Python
91 lines
3.6 KiB
Python
|
|
#!/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()
|