huashu-excel:让AI算出的每个数字都经得起追问的Excel全流程技能包

> 一个让AI从脏表到交付全流程可信的Excel数据分析与对账技能包,跨Agent通用,仅依赖openpyxl。 ## 为什么需要huashu-excel? 在AI辅助办公的浪潮中,一个尴尬的现状是:AI能写Python脚本、能调pandas、能生成漂亮的图表,但当你把一份真实的业务Excel丢给它,要求它完成“清洗→分析→对账→交付”时,结果往往令人失望——要么表头混乱导致字段识别错误,要么数据里有合并单元格、公式残留、单位不一致等脏数据,要么分析逻辑与业务口径对不上,最致命的是:AI算出来的数字,你不敢直接拿去汇报,因为你无法追问“这个数是怎么来的”。 huashu-excel正是为解决这个痛点而生。它不是又一个数据分析库,而是一套**标准化的Excel处理工作流**,以“技能包”(skill)的形式封装了从数据体检、清洗、需求对齐、分析、对账到交付的全流程方法论,并配套了可执行的Python代码模板。它的核心承诺是:**让AI输出的每一个数字都有据可查、可复算、可追溯**。 ## 项目定位与核心思想 项目名“huashu”取自“华数”或“话术”的谐音,隐含“把数据说清楚”之意。它解决的问题不是“如何用Python操作Excel”(openpyxl、pandas早已解决),而是**“如何让AI在无人监督的情况下,输出符合业务逻辑、经得起财务审计的数据结果”**。 其核心设计哲学有三条: 1. **流程强制化**:不允许AI跳过“体检”直接“分析”。先摸清数据底细,再动手。 2. **口径显性化**:所有分析假设、业务规则、字段映射必须显式写入配置或注释,杜绝“黑盒计算”。 3. **结果可追溯**:输出结果必须附带生成逻辑说明,支持对账(即用另一条独立路径验证结果)。 ## 解决的具体痛点 ### 痛点一:脏表无人认领 真实业务中的Excel表往往来自多个部门、多个系统导出,存在: - 表头合并单元格、多级表头 - 同一列混有文本和数字(如“1,200元”、“1200 ”) - 空行空列、重复行、隐藏行 - 公式残留(显示值但底层是公式) - 编码混乱(GBK/UTF-8混杂) 常规做法是让AI“看着办”,但AI经常看走眼。huashu-excel的第一步就是**强制体检**,输出一份“数据体检报告”,列出上述所有问题,并给出严重级别。这一步相当于医院的“全身体检”,不体检不上手术台。 ### 痛点二:需求理解偏差 用户说“分析一下销售情况”,AI可能做出10种不同理解。huashu-excel要求**先对齐需求**,将模糊需求拆解为: - 分析维度(按时间?按地区?按产品?) - 指标定义(销售额是含税还是不含税?毛利率怎么算?) - 输出格式(表格?图表?摘要?) - 对账要求(需要与哪个系统数字核对?) 这些以结构化表单(如JSON或Markdown模板)固化,AI必须逐项确认后才能进入分析阶段。 ### 痛点三:对账难 财务场景下,AI算出的总销售额必须与ERP系统导出的数字一致,否则就是事故。huashu-excel内置**对账模块**,支持: - 将AI计算结果与用户提供的“基准数”对比,输出差异明细 - 差异超过阈值时自动报警并列出可能原因(如漏行、重复、口径不同) - 提供“反向计算”验证:从结果倒推原始数据,检查是否可还原 ### 痛点四:交付物不可解释 很多AI生成的Excel分析报告,用户只得到一个“最终数字”,无法向领导解释计算过程。huashu-excel要求每次交付必须附带: - 数据清洗日志(删除了哪些行、修改了哪些值) - 计算步骤说明(每一步的输入、输出、公式) - 异常数据清单(哪些数据不符合规则但保留) ## 安装与快速上手 ### 安装 项目本身是纯Python包,依赖仅openpyxl(用于读写Excel),无其他重型依赖。安装方式: bash pip install openpyxl # 克隆项目 git clone https://github.com/alchaincyf/huashu-excel.git cd huashu-excel 注意:项目以“skill”形式存在,意味着它不是传统库,而是**一套可被LLM(大语言模型)调用的工具集**。你可以将它作为提示词模板+Python函数库结合使用。 ### 基本使用示例 假设你有一张名为`sales.xlsx`的脏表,包含合并表头、缺失值和文本数字。 #### 第一步:数据体检 python from huashu_excel.inspect import inspect_excel report = inspect_excel("sales.xlsx") print(report) # 输出: # { # "filename": "sales.xlsx", # "sheet_names": ["Sheet1"], # "dimensions": {"rows": 150, "cols": 6}, # "issues": [ # {"type": "merged_cells", "count": 3, "locations": ["A1:C1", "A2:A5"]}, # {"type": "empty_rows", "count": 2, "locations": [12, 45]}, # {"type": "mixed_types", "column": "C", "examples": ["1,200元", "1200", "N/A"]} # ], # "severity": "high" # } #### 第二步:自动清洗 python from huashu_excel.clean import clean_excel cleaned_df = clean_excel("sales.xlsx", rules={ "remove_empty_rows": True, "strip_whitespace": True, "parse_numbers": {"column": "C", "format": "remove_comma_and_unit"}, "fill_missing": {"strategy": "ffill", "columns": ["A"]} }) cleaned_df.to_excel("sales_clean.xlsx", index=False) #### 第三步:需求对齐模板 项目提供`requirement_template.md`,AI需按模板填写: markdown ## 分析需求 - 目标:计算2024年各区域销售额总和及同比 - 维度:区域(列B),时间(列D,格式YYYY-MM-DD) - 指标:销售额(列C,已清洗为数字) - 过滤条件:剔除状态为“取消”的订单(列E) - 输出:一张汇总表+一张柱状图 - 对账基准:财务系统2024年总销售额为 12,345,678 元 #### 第四步:执行分析并自动对账 python from huashu_excel.analyze import analyze from huashu_excel.reconcile import reconcile result = analyze(cleaned_df, requirement=requirement_dict) # 返回包含计算结果和解释的字典 recon_report = reconcile(calculated=result["total_sales"], benchmark=12345678, tolerance=0.001) print(recon_report) # { # "match": False, # "difference": 1234.56, # "difference_pct": 0.01%, # "possible_causes": ["过滤条件不一致", "存在重复行未删除"] # } #### 第五步:生成交付报告 python from huashu_excel.deliver import generate_report generate_report(result, recon_report, output_path="delivery_report.md") # 自动生成包含数据源、清洗日志、计算步骤、对账结果、结论的完整报告 ## 核心亮点深度解析 ### 1. 跨Agent通用性 项目设计为**与具体LLM无关**。无论你用的是Claude、ChatGPT、通义千问还是本地Llama,只需将`skill`目录下的提示词模板(如`system_prompt.md`)和Python函数库一起提供给AI,它就能遵循这套流程。这意味着团队可以统一标准,不因换模型而改变输出质量。 ### 2. 依赖极简,审计友好 仅依赖openpyxl,这意味着: - 安装零负担,适合内网环境 - 代码可读,审计人员能轻松理解每一步操作 - 无pandas、numpy等重型依赖,减少版本冲突风险 但这也意味着它不做复杂的数据变换(如pivot、groupby需自己写Python),它更关注**流程正确性**而非**计算能力**。 ### 3. 对账模块是最大差异化 大多数Excel处理工具只关注“如何算”,不关注“算得对不对”。huashu-excel将对账提升为一等公民,并且支持**多路径对账**: - 与外部基准对账 - 与自身重复计算对账(用不同方法计算同一指标) - 与上游明细对账(汇总数=明细数之和) ### 4. 强调“可解释性”输出 每个分析结果都附带`explanation`字段,详细描述计算逻辑。例如: python { "metric": "total_sales_2024", "value": 12345678.0, "explanation": "从sales_clean.xlsx中筛选D列日期在2024-01-01至2024-12-31之间的行,剔除E列为'取消'的行,对C列求和。共1203行参与计算。" } 这在财务审计、业务汇报中至关重要。 ## 适用场景 ### 财务与会计 - 月度对账(银行流水 vs 账面记录) - 预算与实际对比分析 - 税务数据整理(多表合并、口径统一) ### 销售与运营 - 销售日报/周报自动生成 - 渠道数据清洗与合并(CRM导出+手工表) - 库存盘点差异分析 ### 数据分析外包/咨询 - 交付给客户的数据分析报告,需要附上完整的数据处理过程 - 多客户重复性数据清洗任务标准化 ### AI Agent开发 - 如果你在构建一个“数据分析Agent”,可以将huashu-excel作为其内置技能,避免Agent自由发挥导致结果不可控。 ## 同类项目对比 | 项目 | 定位 | 核心差异 | |------|------|----------| | **pandas** | 数据分析库 | 提供所有计算原语,但不关心流程和可解释性。huashu-excel是建立在类似pandas能力之上的流程框架。 | | **OpenPyXL** | Excel读写库 | 只负责IO,不负责逻辑。huashu-excel使用它作为底层IO。 | | **Excel公式/宏** | 传统办公自动化 | 不适用于AI驱动场景,且难以实现复杂清洗逻辑。 | | **AutoGen/等Agent框架** | 多Agent协作 | 它们是“大脑”,huashu-excel是“手”——提供标准化的数据处理动作。 | | **DataCleaner等商业工具** | 图形化清洗 | 需要人工操作,无法被AI调用。huashu-excel是纯代码,可嵌入任何AI流程。 | **一句话总结对比**:pandas是“菜刀”,openpyxl是“砧板”,huashu-excel是“菜谱+厨师流程”——它不教你切菜,但保证你按步骤做出来的菜能端上宴会桌。 ## 局限性与改进空间 1. **不支持xlsx以外的格式**(如xls、csv需先转换),但考虑到现代办公场景,xlsx已是主流。 2. **对复杂Excel功能(如数据透视表、图表对象)支持有限**,它更聚焦于数据内容和结构。 3. **对账模块需要用户提供“基准数”**,如果没有基准,则只能做内部一致性检查。 4. **目前Stars为335,社区生态尚小**,但项目结构清晰,适合二次开发。 ## 总结评价 huashu-excel不是那种“惊艳”的项目,它不炫技,不追求算力,而是回归数据分析的本质——**可靠**。在AI生成内容泛滥、数字造假成本极低的今天,它提供了一种“反脆弱”的设计:即使AI完全不可信,只要它遵循这套流程,输出的结果就能被验证、被追问、被审计。 对于以下人群,强烈推荐尝试: - 财务/运营分析师,每天与Excel打交道且需要向领导解释数字来源 - AI应用开发者,正在构建数据分析类Agent,需要标准化数据处理模块 - 咨询顾问,需要向客户交付可验证的数据分析结果 项目地址:[https://github.com/alchaincyf/huashu-excel](https://github.com/alchaincyf/huashu-excel) 如果你厌倦了“AI给个数字你不敢用”的窘境,这个项目值得你花一个下午研究并集成到你的工作流中。
查看工具