TFT顾问AI Agent开发(二):初步解析处理数据

张开发
2026/4/14 18:49:34 15 分钟阅读

分享文章

TFT顾问AI Agent开发(二):初步解析处理数据
在前一篇文章https://blog.csdn.net/chzrxcter/article/details/160077532?fromshareblogdetailsharetypeblogdetailsharerId160077532sharereferPCsharesourcechzrxctersharefromfrom_link中我们已经成功地从Data Dragon和Community Dragon获取了json格式的英雄、羁绊、装备的基本信息数据库。但是这些数据库内部存在一些命名问题需要进行初步的清洗与标准化。在 CDragon 中c[traits] [Quickstriker]而在 Trait 表中t[apiName] TFT16_Rapidfire也就是说类型值显示名Quickstriker内部IDRapidfire因而在例如英雄芸阿娜TFT16_Yunara的数据中存在两种羁绊命名方式(Quickstriker/Rapidfire)在后续的羁绊计算中会出现计算错误的情况因此需要反查设计。通过建构name_to_short 反查表将羁绊名统一为short_id。for t in raw.get(traits, []): if not isinstance(t, dict): continue api t.get(apiName, ) if not api: continue short _strip(api, n) name t.get(name, short) levels sorted({e.get(minUnits, 0) for e in t.get(effects, []) if e.get(minUnits, 0) 0}) trait_db[api] { id : api, short_id: short, name_en : name, levels : levels, effects : t.get(effects, []), } # 双向注册short_id 和 name_en 都能查到 short_id name_to_short[short] short # 已是 short_id 的情况直接命中 name_to_short[name] short # 显示名 - short_id # ── 解析英雄traits 统一转为 short_id ───────────────────── for c in raw.get(champions, []): if not isinstance(c, dict): continue api c.get(apiName, ) if not api: continue short _strip(api, n)这样在后续的羁绊计算中便不会再出现命名原因导致的错误问题了。

更多文章