import pandas as pd # 你提供的核心逻辑,适配Excel输入输出 def process_vocabulary_system(file_path): # 1. 加载Excel数据 try: df = pd.read_excel(file_path) except FileNotFoundError: return "Error: File not found." df.columns = [c.strip() for c in df.columns] print(f"加载文件成功,共{len(df)}条单词记录") # 2. 你定义的特殊规则 t2_special_list = { 'invisible': {'air', 'wind', 'smoke', 'gas'}, 'abstract': {'song', 'friend', 'hobby', 'art', 'pe', 'music', 'fun'}, 'generalized': {'child', 'children', 'father', 'mother', 'food', 'colour', 'animal', 'toy'}, 'identity': {'address', 'age', 'aunt', 'name'} } # 预展开T2特殊词集合 all_t2_special = {item for sublist in t2_special_list.values() for item in sublist} # 3. 核心处理逻辑 def apply_rules(row): # 清洗输入 word = str(row.get('单词', '')).lower().strip() t_score = pd.to_numeric(row.get('实现成本(T)', 1), errors='coerce') if pd.isna(t_score): t_score = 1 # 规则分支 if t_score >= 3: scheme = "逻辑交互 / UI 处理" reason = "英语骨架词。涉及空间位置、时序或数量的逻辑判定,需系统重度UI引导。" link = "建议设计‘解谜指令’,如:利用 here/there 进行远近空间坐标对比任务。" elif t_score == 2 or word in all_t2_special: scheme = "动画 / 特效 / UI处理" if word in t2_special_list['invisible']: reason = "隐形名词。需环境联动(如风吹树叶)和特效辅助表现。" link = "联动关联实物,如:wind 联动 tree/leaf 的动态表现。" elif word in t2_special_list['generalized']: reason = "泛化概念。无法用单一图片代表,需UI组合展示或多模型联动。" link = f"联动具体成员,由 {word} 展示其下属的 T1 级具象单词集合。" elif word in t2_special_list['abstract'] or word in t2_special_list['identity']: reason = "抽象/身份信息。需通过情节演绎或特定 UI 界面(如家谱)界定。" link = "联动相关动作,如:song 联动 sing;age 联动 numbers。" else: reason = "动作/状态词。需 Animator 动画、粒子特效或角色表情反馈。" link = "建议设计状态切换任务,如:open vs closed;dirty vs clean。" else: # T1 情况 scheme = "静态模型展示" reason = "具象实物。在 Unity 中对应单一、静态的物理模型或材质资源。" link = "可作为背景或道具。建议联动颜色词或方位词增加任务厚度。" return pd.Series([scheme, reason, link]) # 执行规则生成新列 df[['教学方案展示', '实现理由', '联动建议']] = df.apply(apply_rules, axis=1) # 4. 导出为Excel output_file = "/root/.openclaw/workspace-xiaoban/LV1词汇教学方案生成结果.xlsx" df.to_excel(output_file, index=False) return f"Success: 处理完成,结果已保存到 {output_file}" # 处理刚收到的LV1词汇表 input_path = "/root/.openclaw/media/inbound/â_¼ï_LV1-å_ç_å_è_åº_-ç¼_å_é_è_ç_è_é---d41d887f-5d65-4eab-928d-a717e5097e8c.xlsx" result = process_vocabulary_system(input_path) print(result)