import pandas as pd # 文件路径 table1_path = "/root/.openclaw/media/inbound/é_¾åº_æ_æ_å_è_ç³_æ_1.0---4d1d9fe3-1e36-4df1-baf6-d826fcf7a05e.xlsx" table3_path = "/root/.openclaw/media/inbound/â_¼ï_LV1-å_ç_å_è_åº_-ç¼_å_é_è_ç_è_é---e503b23c-829e-4367-b819-762856bd50b5.xlsx" output_path = "/root/.openclaw/workspace-xiaoban/匹配完成的LV1词汇表.xlsx" # 读取两个表格 df1 = pd.read_excel(table1_path) df3 = pd.read_excel(table3_path) print(f"表一总条数:{len(df1)}") print(f"表三总条数:{len(df3)}") print(f"表一列名:{list(df1.columns)}") print(f"表三列名:{list(df3.columns)}") # 创建映射:统一将单词转为字符串作为key,匹配三个字段 word_map = {} for _, row in df1.iterrows(): word = str(row['单词']).strip() word_map[word] = { '难度(D)': row['难度(D)'], '实现成本(T)': row['实现成本(T)'], '单词系数': row['单词系数'] } # 给表三添加三列 def get_value(word, col): key = str(word).strip() return word_map.get(key, {}).get(col, None) df3['难度(D)'] = df3['单词'].apply(lambda x: get_value(x, '难度(D)')) df3['实现成本(T)'] = df3['单词'].apply(lambda x: get_value(x, '实现成本(T)')) df3['单词系数'] = df3['单词'].apply(lambda x: get_value(x, '单词系数')) # 保存结果 df3.to_excel(output_path, index=False) # 统计匹配情况 match_count = df3['难度(D)'].notna().sum() print(f"\n匹配完成!结果已保存到:{output_path}") print(f"成功匹配条数:{match_count}") print(f"未匹配条数:{len(df3) - match_count}")