Token导航 LogoToken导航TokenDH.com
待分类权限需确认github未标认证来源可访问许可证需确认审计通过

excel-fixerexcel 修复程序

Agent Skill

用于辅助数据整理、表格处理、CSV/Excel 分析、指标计算和图表准备。它适合让 Agent 清洗字段、汇总数据、发现异常、生成统计口径或把分析结果转成可读说明。使用时需要确认数据来源、字段含义和时间范围,避免把样本数据当全量事实;涉及敏感数据、导出文件或批量写回时,应先确认权限和脱敏边界。

总安装

367

周安装

15

GitHub Stars

32

下载量

118
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:excel-fixer(excel 修复程序)
来源仓库:https://github.com/malue-ai/dazee-small
仓库路径:skills/excel-fixer
安装命令:
npx skills add https://github.com/malue-ai/dazee-small --skill excel-fixer
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/malue-ai/dazee-small --skill excel-fixer

简介

excel-fixer 自动检测并修复 Excel/CSV 常见编码、格式与合并单元格问题。

  • 适合在 Codex、Claude、Cursor、Gemini CLI 中处理乱码文件或导入不规范数据时使用。
  • 支持编码探测、UTF-8 转换、合并单元格拆分与空行清理。
  • 提供 Python 脚本示例,可直接用于预处理分析前的数据清洗。
  • 适用宿主包括 Codex、Claude、Cursor、Gemini CLI,接入前应确认版本、权限和运行环境要求。

SKILL.md

Excel 格式修复

自动检测并修复 Excel/CSV 常见格式问题。

使用场景

  • 用户说「这个表格打开乱码了」「帮我修一下这个 Excel」
  • Excel 分析前预处理(自动清洗)
  • 从外部导入的数据格式不规范

常见问题与修复

1. 编码乱码

import pandas as pd
import chardet

def fix_encoding(file_path):
    """检测并修复 CSV 编码"""
    with open(file_path, 'rb') as f:
        raw = f.read(10000)
        detected = chardet.detect(raw)
        encoding = detected['encoding']

    # 尝试用检测到的编码读取
    df = pd.read_csv(file_path, encoding=encoding)

    # 保存为 UTF-8
    output = file_path.replace('.csv', '_fixed.csv')
    df.to_csv(output, encoding='utf-8-sig', index=False)
    return output, encoding

2. 合并单元格拆分

from openpyxl import load_workbook

def unmerge_cells(file_path):
    """拆分合并单元格,向下填充值"""
    wb = load_workbook(file_path)
    ws = wb.active

    # 记录合并区域
    merged_ranges = list(ws.merged_cells.ranges)

    for merged in merged_ranges:
        # 获取合并区域左上角的值
        top_left_value = ws.cell(merged.min_row, merged.min_col).value

        # 取消合并
        ws.unmerge_cells(str(merged))

        # 向下填充
        for row in range(merged.min_row, merged.max_row + 1):
            for col in range(merged.min_col, merged.max_col + 1):
                ws.cell(row, col, top_left_value)

    output = file_path.replace('.xlsx', '_unmerged.xlsx')
    wb.save(output)
    return output, len(merged_ranges)

3. 重复表头检测

def fix_duplicate_headers(df):
    """检测并修复重复表头行"""
    # 检查前几行是否与列名重复
    header_like_rows = []
    for i, row in df.head(5).iterrows():
        match_count = sum(1 for v in row.values if str(v) in df.columns.tolist())
        if match_count > len(df.columns) * 0.5:
            header_like_rows.append(i)

    if header_like_rows:
        df = df.drop(header_like_rows).reset_index(drop=True)

    return df, len(header_like_rows)

4. 数据类型不一致

def fix_column_types(df):
    """检测并修复列内数据类型不一致"""
    fixes = []
    for col in df.columns:
        # 尝试转为数字
        numeric = pd.to_numeric(df[col], errors='coerce')
        non_null_ratio = numeric.notna().sum() / len(df)

        if non_null_ratio > 0.8 and df[col].dtype == object:
            # 80% 以上是数字,可能是数字列混入了文本
            bad_rows = df[numeric.isna() & df[col].notna()]
            fixes.append(f"列 '{col}': {len(bad_rows)} 行非数字值")

    return fixes

5. 一键修复流程

def auto_fix(file_path):
    """自动检测并修复所有常见问题"""
    report = []

    # 1. 读取文件
    if file_path.endswith('.csv'):
        # 编码修复
        ...
    else:
        # 合并单元格修复
        ...

    # 2. 读取为 DataFrame
    df = pd.read_excel(file_path) if file_path.endswith('.xlsx') else pd.read_csv(file_path)

    # 3. 重复表头
    df, dup_count = fix_duplicate_headers(df)
    if dup_count:
        report.append(f"移除 {dup_count} 行重复表头")

    # 4. 数据类型
    type_issues = fix_column_types(df)
    report.extend(type_issues)

    # 5. 空行空列
    before = len(df)
    df = df.dropna(how='all')
    df = df.loc[:, ~df.columns.str.contains('^Unnamed')]
    after = len(df)
    if before != after:
        report.append(f"移除 {before - after} 行空行")

    return df, report

6. 分类列文本标准化(必须执行)

def standardize_categories(df, columns):
    """对分类列做文本标准化,合并近似重复值"""
    for col in columns:
        if col not in df.columns:
            continue
        # 去首尾空格
        df[col] = df[col].astype(str).str.strip()
        # 检测近似重复(如 "华东" vs "华东地区")
        unique_vals = df[col].unique()
        for v1 in unique_vals:
            for v2 in unique_vals:
                if v1 != v2 and (v1 in v2 or v2 in v1):
                    # 合并为较短的值(更通用)
                    shorter = v1 if len(v1) <= len(v2) else v2
                    longer = v2 if shorter == v1 else v1
                    df[col] = df[col].replace(longer, shorter)
                    print(f"  合并: '{longer}' → '{shorter}'")
    return df

输出规范

  • 修复前先展示检测到的问题清单
  • 重大修改(如删除行/列)需要 HITL 确认
  • 修复后保存为新文件(不覆盖原文件)
  • 展示修复报告:修了什么、修了多少
  • 必须打印清洗后行数:让用户(和校验系统)确认没有误删数据
  • 分类列必须标准化:合并近似重复值(如"华东"/"华东地区")

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

33.63%
按下载量换算40

Claude

33.14%
按下载量换算39

Cursor

21.5%
按下载量换算25

Gemini CLI

9.53%
按下载量换算11

安全审计

Gen Agent Trust Hub

通过

Socket

通过

Snyk

通过

权限和风险

权限需确认

当前来源未能明确判断权限范围,默认进入异常复核队列。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills