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

85 lines
3.1 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")
original_file = "src/pages/JobStrategyDetailPage/components/TargetPosition/index.jsx"
backup_path = f"{original_file}.backup_{timestamp}"
shutil.copy2(original_file, 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)} 个视觉设计岗位")
# 按批次分类岗位
batch_positions = {
"第一批次": [],
"第二批次": [],
"第三批次": []
}
for item in visual_design_data:
position_name = item.get("岗位名称", "")
batch = item.get("批次", "")
if batch in batch_positions and position_name:
batch_positions[batch].append(position_name)
print(f"✅ 处理岗位: {position_name} ({batch})")
# 读取原始文件
with open(original_file, "r", encoding="utf-8") as f:
content = f.read()
# 构建新的 initialBatchPositions 对象
new_batch_data = f''' const initialBatchPositions = {{
batch1: [
{chr(10).join([f' "{pos}",' for pos in batch_positions["第一批次"]])}
],
batch2: [
{chr(10).join([f' "{pos}",' for pos in batch_positions["第二批次"]])}
],
batch3: [
{chr(10).join([f' "{pos}",' for pos in batch_positions["第三批次"]])}
]
}};'''
# 使用正则表达式替换 initialBatchPositions 定义
import re
pattern = r'( // 定义三个批次的岗位数据\s*\n const initialBatchPositions = \{[\s\S]*?\n \};)'
if re.search(pattern, content):
new_content = re.sub(pattern, f' // 定义三个批次的岗位数据\n{new_batch_data}', content)
# 写入文件
with open(original_file, "w", encoding="utf-8") as f:
f.write(new_content)
print("📊 替换统计:")
print(f" - 第一批次岗位数: {len(batch_positions['第一批次'])}")
print(f" - 第二批次岗位数: {len(batch_positions['第二批次'])}")
print(f" - 第三批次岗位数: {len(batch_positions['第三批次'])}")
print(f" - 总岗位数: {sum(len(positions) for positions in batch_positions.values())}")
print("✅ 已更新目标岗位优先级数据")
# 显示部分替换的岗位
print("📋 各批次的岗位包括:")
for batch_name, positions in batch_positions.items():
print(f" {batch_name}: {', '.join(positions[:3])}{'...' if len(positions) > 3 else ''}")
print("🎉 处理完成!")
else:
print("❌ 未找到目标代码段,请检查文件结构")
if __name__ == "__main__":
main()