Очистка данных в таблице
Убирает лишние пробелы, исправляет регистр, превращает текст в числа, приводит даты к одному виду и находит дубликаты.
- Что делает
- Убирает лишние пробелы, исправляет регистр, превращает текст в числа, приводит даты к одному виду и находит дубликаты.
- Когда брать
- Когда данные в таблице беспорядочные и противоречивые и их нужно подготовить к анализу.
- Пример запроса
- Почисти эту таблицу: пробелы, даты в разных форматах и дубли.
- Нужно подключить
- таблица Excel
Входит в плагин financial-analysis. В Cowork и Claude Code можно поставить плагин целиком.
Как включить
- Нажмите «Скачать на русском» и сохраните архив.
- В Claude откройте Настройки → Capabilities → Skills → Upload skill и выберите архив.
- Включите скилл переключателем.
Для терминала
Распакуйте архив и положите папку clean-data-xls в ~/.claude/skills/. Файл SKILL.md должен лежать внутри этой папки.
Текст
---
name: clean-data-xls
description: Наводит порядок в «грязных» данных таблицы: убирает лишние пробелы, исправляет разный регистр, превращает числа, сохранённые как текст, в числа, приводит даты к одному виду, удаляет дубликаты и отмечает столбцы со смешанными типами. Используй, когда данные беспорядочные, противоречивые или требуют подготовки перед анализом. Срабатывает на фразы «почисти эти данные», «приведи лист в порядок», «нормализуй данные», «поправь форматирование», «убери дубли», «приведи столбец к единому виду», «данные грязные».
---
Очистка данных
Наведи порядок в «грязных» данных на активном листе или в указанном диапазоне.
Среда
- Если работа идёт внутри Excel (надстройка Office / Office JS): используй Office JS напрямую (
Excel.run(async (context) => {...})). Читай черезrange.values, формулы во вспомогательные столбцы записывай черезrange.formulas = [["=TRIM(A2)"]]. Выбор между правкой на месте и вспомогательным столбцом остаётся в силе. - Если работа идёт с отдельным файлом .xlsx: используй Python/openpyxl.
Рабочий процесс
Шаг 1: Охват
- Если указан диапазон (например,
A1:F200), используй его - Иначе возьми весь используемый диапазон активного листа
- Составь профиль каждого столбца: определи преобладающий тип (текст / число / дата) и найди выбросы
Шаг 2: Найди проблемы
| Проблема | На что смотреть |
|---|---|
| Пробелы | пробелы в начале и в конце, двойные пробелы |
| Регистр | разный регистр в категориальных столбцах (usa / USA / Usa) |
| Число как текст | числа, сохранённые как текст; лишние $, ,, % в ячейках с числами |
| Даты | разные форматы в одном столбце (3/8/26, 2026-03-08, March 8 2026) |
| Дубликаты | полностью совпадающие строки и почти совпадающие (разница в регистре или пробелах) |
| Пустые значения | пустые ячейки в остальном заполненных столбцах |
| Смешанные типы | столбец на 98% из чисел, в котором есть 3 текстовые записи |
| Кодировка | «кракозябры» (é, ’), непечатаемые символы |
| Ошибки | #REF!, #N/A, #VALUE!, #DIV/0! |
Шаг 3: Предложи исправления
Перед любыми изменениями покажи сводную таблицу:
| Столбец | Проблема | Количество | Предлагаемое исправление |
|---|
Шаг 4: Примени
- Формулы предпочтительнее зашитых очищенных значений: если очищенный результат можно выразить формулой (например,
=TRIM(A2),=VALUE(SUBSTITUTE(B2,"$","")),=UPPER(C2),=DATEVALUE(D2)), запиши формулу в соседний вспомогательный столбец, а не считай результат в Python и не перезаписывай оригинал. Так преобразование остаётся прозрачным и проверяемым. - Перезаписывай данные на месте вычисленными значениями, только если пользователь прямо попросил об этом или если подходящей формулы нет (например, исправление кодировки)
- Перед разрушительными операциями (удаление дубликатов, заполнение пустых значений, перезапись оригиналов) сначала спроси подтверждения у пользователя
- После каждой категории исправлений (пробелы → регистр → преобразование чисел → даты → дедупликация) покажи пользователю примеры изменений и получи подтверждение, прежде чем переходить к следующей категории
- Выдай итоговую сводку «до и после»: что изменилось
Перевод: iiuniversitet. Оригинал: https://github.com/anthropics/financial-services/tree/main/plugins/vertical-plugins/financial-analysis/skills/clean-data-xls, лицензия Apache-2.0. Изменения: перевод на русский язык.
Оригинал на английском
---
name: clean-data-xls
description: Clean up messy spreadsheet data — trim whitespace, fix inconsistent casing, convert numbers-stored-as-text, standardize dates, remove duplicates, and flag mixed-type columns. Use when data is messy, inconsistent, or needs prep before analysis. Triggers on "clean this data", "clean up this sheet", "normalize this data", "fix formatting", "dedupe", "standardize this column", "this data is messy".
---
# Clean Data
Clean messy data in the active sheet or a specified range.
## Environment
- **If running inside Excel (Office Add-in / Office JS):** Use Office JS directly (`Excel.run(async (context) => {...})`). Read via `range.values`, write helper-column formulas via `range.formulas = [["=TRIM(A2)"]]`. The in-place vs helper-column decision still applies.
- **If operating on a standalone .xlsx file:** Use Python/openpyxl.
## Workflow
### Step 1: Scope
- If a range is given (e.g. `A1:F200`), use it
- Otherwise use the full used range of the active sheet
- Profile each column: detect its dominant type (text / number / date) and identify outliers
### Step 2: Detect issues
| Issue | What to look for |
|---|---|
| Whitespace | leading/trailing spaces, double spaces |
| Casing | inconsistent casing in categorical columns (`usa` / `USA` / `Usa`) |
| Number-as-text | numeric values stored as text; stray `$`, `,`, `%` in number cells |
| Dates | mixed formats in the same column (`3/8/26`, `2026-03-08`, `March 8 2026`) |
| Duplicates | exact-duplicate rows and near-duplicates (case/whitespace differences) |
| Blanks | empty cells in otherwise-populated columns |
| Mixed types | a column that's 98% numbers but has 3 text entries |
| Encoding | mojibake (`é`, `’`), non-printing characters |
| Errors | `#REF!`, `#N/A`, `#VALUE!`, `#DIV/0!` |
### Step 3: Propose fixes
Show a summary table before changing anything:
| Column | Issue | Count | Proposed Fix |
|---|---|---|---|
### Step 4: Apply
- **Prefer formulas over hardcoded cleaned values** — where the cleaned output can be expressed as a formula (e.g. `=TRIM(A2)`, `=VALUE(SUBSTITUTE(B2,"$",""))`, `=UPPER(C2)`, `=DATEVALUE(D2)`), write the formula in an adjacent helper column rather than computing the result in Python and overwriting the original. This keeps the transformation transparent and auditable.
- Only overwrite in place with computed values when the user explicitly asks for it, or when no sensible formula equivalent exists (e.g. encoding/mojibake repair)
- For destructive operations (removing duplicates, filling blanks, overwriting originals), confirm with the user first
- After each category of fix (whitespace → casing → number conversion → dates → dedup), show the user a sample of what changed and get confirmation before moving to the next category
- Report a before/after summary of what changed
Источник: anthropics/financial-services / financial-analysis / clean-data-xls ↗. Ссылка проверена 2026-10-10.