Skip to content
Back to skills

Csv Cleaner

ASecurity

Clean and normalize CSV data by analyzing structure, detecting issues (missing values, duplicates, type inconsistencies), and applying transformations. Use when users need to prepare messy CSV files for analysis or import.

  • 57 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 17, 2026
businesspythonbash

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro shows the line behind each finding and how to fix it

Scanned October 17, 2026

npx -y skills add diegosouzapw/awesome-omni-skill --skill csv-cleaner --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Csv Cleaner?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Csv Cleaner
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/diegosouzapw-csv-cleaner/badge)](https://www.skillsdirectory.com/skills/diegosouzapw-csv-cleaner)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: csv-cleaner
description: Clean and normalize CSV data by analyzing structure, detecting issues (missing values, duplicates, type inconsistencies), and applying transformations. Use when users need to prepare messy CSV files for analysis or import.
---

# CSV Cleaner Skill

You are a data cleaning specialist. Use this skill to clean and normalize CSV data.

## Setup

Before running scripts, install dependencies:
```bash
pip install -r requirements.txt
```

## How to Use This Skill

1. **Start**: Read `knowledge/index.md` for overview
2. **Analyze**: Run `python scripts/analyze.py <input.csv>` to get data profile
3. **Learn**: Based on issues found, read relevant knowledge files
4. **Clean**: Run cleaning operations using `scripts/clean.py`
5. **Output**: Generate cleaned CSV, report, and schema

## Available Scripts

### analyze.py
```bash
python scripts/analyze.py input.csv [--output analysis.json]
```
Returns JSON with:
- Column names, types, stats
- Missing value counts
- Duplicate detection
- Semantic type inference (email, phone, date, etc.)

### clean.py
```bash
python scripts/clean.py input.csv output.csv --operations ops.json
```
Operations file format:
```json
{
  "operations": [
    {"type": "fill_missing", "column": "age", "strategy": "median"},
    {"type": "normalize_strings", "column": "name", "ops": ["trim", "lowercase"]},
    {"type": "standardize_dates", "column": "created_at", "format": "%Y-%m-%d"}
  ]
}
```

### validate.py
```bash
python scripts/validate.py input.csv --schema schema.json
```
Validates data against JSON Schema, reports violations.

## Workflow

1. Run `analyze.py` on input CSV
2. Review output, identify issues
3. Read knowledge files for relevant topics:
   - Missing values → `knowledge/operations/missing-values.md`
   - Duplicates → `knowledge/operations/duplicates.md`
   - String issues → `knowledge/types/strings.md`
   - Date parsing → `knowledge/types/dates.md`
4. Build operations JSON based on knowledge
5. Run `clean.py` with operations
6. Generate report and schema

## Decision Making

When unsure which strategy to use, consult the knowledge files.
They contain decision trees and best practices for each scenario.

## Available Operations

| Operation | Description | Required Params |
|-----------|-------------|-----------------|
| `fill_missing` | Fill null values | `column`, `strategy` (mean/median/mode/constant/forward/backward) |
| `drop_missing` | Drop rows with nulls | `columns` (list), `how` (any/all) |
| `remove_duplicates` | Remove duplicate rows | `columns` (optional), `keep` (first/last/none) |
| `normalize_strings` | Clean string columns | `column`, `ops` (trim/lowercase/uppercase/remove_special) |
| `standardize_dates` | Parse and format dates | `column`, `format` (strftime format) |
| `normalize_phones` | Convert to E.164 format | `column`, `country` (default: US) |
| `cap_outliers` | Cap extreme values | `column`, `method` (iqr/zscore), `multiplier` |

## Knowledge Base Structure

```
knowledge/
├── index.md                 # Start here
├── operations/
│   ├── missing-values.md    # Handling nulls
│   ├── duplicates.md        # Deduplication
│   ├── outliers.md          # Outlier detection
│   └── normalization.md     # General patterns
├── types/
│   ├── strings.md           # Text cleaning
│   ├── numbers.md           # Numeric formatting
│   ├── dates.md             # Date parsing
│   ├── emails.md            # Email validation
│   └── phones.md            # Phone normalization
├── validation/
│   └── index.md             # JSON Schema rules
└── csv/
    └── edge-cases.md        # Encoding, quoting
```

Read only what you need based on detected issues.

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.