Data Pipeline Processor
Quick Start
import pandas as pd
from pathlib import Path
# Simple pipeline: Load -> Transform -> Export
df = pd.read_csv("data/raw/source.csv")
# Transform
df = df[df['value'] > 0] # Filter
df['date'] = pd.to_datetime(df['date']) # Convert types
df = df.sort_values('date') # Sort
# Export
Path("data/processed").mkdir(parents=True, exist_ok=True)
df.to_csv("data/processed/cleaned.csv", index=False)
print(f"Processed {len(df)} rows")
When to Use
- Processing CSV/Excel/JSON files with validation
- Data cleaning and transformation workflows
- Batch file processing with aggregation
- Handling encoding issues (UTF-8, Latin-1 fallback)
- ETL (Extract, Transform, Load) operations
- Data quality checks and reporting
Core Pattern
Input (CSV/Excel/JSON) -> Validate -> Transform -> Analyze -> Export
Implementation
Data Reader with Encoding Detection
import pandas as pd
from pathlib import Path
from typing import Any, Dict, List, Optional, Union
import logging
import chardet
logger = logging.getLogger(__name__)
*See sub-skills for full details.*
### Data Validator
```python
from dataclasses import dataclass, field
from typing import Callable, List, Dict, Any
@dataclass
class ValidationResult:
"""Result of data validation."""
is_valid: bool
errors: List[str] = field(default_factory=list)
*See sub-skills for full details.*
### Data Transformer
```python
class DataTransformer:
"""Apply transformations to data."""
def __init__(self, df: pd.DataFrame):
self.df = df.copy()
def rename_columns(self, mapping: Dict[str, str]) -> 'DataTransformer':
"""Rename columns."""
self.df = self.df.rename(columns=mapping)
*See sub-skills for full details.*
### Data Exporter
```python
class DataExporter:
"""Export data to various formats."""
@staticmethod
def to_csv(df: pd.DataFrame, path: str, **kwargs) -> str:
"""Export to CSV."""
Path(path).parent.mkdir(parents=True, exist_ok=True)
df.to_csv(path, index=False, **kwargs)
return path
*See sub-skills for full details.*
### Pipeline Orchestrator
```python
from dataclasses import dataclass
from typing import List, Dict, Any, Optional
@dataclass
class PipelineConfig:
"""Configuration for data pipeline."""
input_path: str
output_path: str
*See sub-skills for full details.*
## YAML Configuration Format
### Basic Pipeline Config
```yaml
# config/pipelines/data_clean.yaml
input:
path: data/raw/source.csv
options:
delimiter: ","
skiprows: 1
validation:
*See sub-skills for full details.*
### Aggregation Pipeline
```yaml
# config/pipelines/monthly_summary.yaml
input:
path: data/processed/daily_data.csv
validation:
required_columns:
- date
- category
*See sub-skills for full details.*
## Related Skills
- [yaml-workflow-executor](../yaml-workflow-executor/SKILL.md) - Workflow orchestration
- [engineering-report-generator](../engineering-report-generator/SKILL.md) - Report generation
- [parallel-file-processor](../parallel-file-processor/SKILL.md) - Parallel file operations
---
## Version History
- **1.1.0** (2026-01-02): Upgraded to SKILL_TEMPLATE_v2 format with Quick Start, Error Handling, Metrics, Execution Checklist, additional examples
- **1.0.0** (2024-10-15): Initial release with DataReader, DataValidator, DataTransformer, pipeline orchestration
## Sub-Skills
- [Example 1: Simple CSV Processing (+3)](example-1-simple-csv-processing/SKILL.md)
- [Do (+6)](do/SKILL.md)
## Sub-Skills
- [Error Handling](error-handling/SKILL.md)
- [Execution Checklist](execution-checklist/SKILL.md)
- [Metrics](metrics/SKILL.md)
1---2name: data-pipeline-processor3description: Process data files through transformation pipelines with validation, cleaning, and export. Use for CSV/Excel/JSON data processing, encoding handling, batch operations, and data transformation workflows.4---56# Data Pipeline Processor78## Quick Start910```python11import pandas as pd12from pathlib import Path1314# Simple pipeline: Load -> Transform -> Export15df = pd.read_csv("data/raw/source.csv")1617# Transform18df = df[df['value'] > 0] # Filter19df['date'] = pd.to_datetime(df['date']) # Convert types20df = df.sort_values('date') # Sort2122# Export23Path("data/processed").mkdir(parents=True, exist_ok=True)24df.to_csv("data/processed/cleaned.csv", index=False)2526print(f"Processed {len(df)} rows")27```2829## When to Use3031- Processing CSV/Excel/JSON files with validation32- Data cleaning and transformation workflows33- Batch file processing with aggregation34- Handling encoding issues (UTF-8, Latin-1 fallback)35- ETL (Extract, Transform, Load) operations36- Data quality checks and reporting3738## Core Pattern3940```41Input (CSV/Excel/JSON) -> Validate -> Transform -> Analyze -> Export42```4344## Implementation4546### Data Reader with Encoding Detection4748```python49import pandas as pd50from pathlib import Path51from typing import Any, Dict, List, Optional, Union52import logging53import chardet5455logger = logging.getLogger(__name__)56575859*See sub-skills for full details.*60### Data Validator6162```python63from dataclasses import dataclass, field64from typing import Callable, List, Dict, Any656667@dataclass68class ValidationResult:69 """Result of data validation."""70 is_valid: bool71 errors: List[str] = field(default_factory=list)7273*See sub-skills for full details.*74### Data Transformer7576```python77class DataTransformer:78 """Apply transformations to data."""7980 def __init__(self, df: pd.DataFrame):81 self.df = df.copy()8283 def rename_columns(self, mapping: Dict[str, str]) -> 'DataTransformer':84 """Rename columns."""85 self.df = self.df.rename(columns=mapping)8687*See sub-skills for full details.*88### Data Exporter8990```python91class DataExporter:92 """Export data to various formats."""9394 @staticmethod95 def to_csv(df: pd.DataFrame, path: str, **kwargs) -> str:96 """Export to CSV."""97 Path(path).parent.mkdir(parents=True, exist_ok=True)98 df.to_csv(path, index=False, **kwargs)99 return path100101*See sub-skills for full details.*102### Pipeline Orchestrator103104```python105from dataclasses import dataclass106from typing import List, Dict, Any, Optional107108109@dataclass110class PipelineConfig:111 """Configuration for data pipeline."""112 input_path: str113 output_path: str114115*See sub-skills for full details.*116117## YAML Configuration Format118119### Basic Pipeline Config120121```yaml122# config/pipelines/data_clean.yaml123124input:125 path: data/raw/source.csv126 options:127 delimiter: ","128 skiprows: 1129130validation:131132*See sub-skills for full details.*133### Aggregation Pipeline134135```yaml136# config/pipelines/monthly_summary.yaml137138input:139 path: data/processed/daily_data.csv140141validation:142 required_columns:143 - date144 - category145146*See sub-skills for full details.*147148## Related Skills149150- [yaml-workflow-executor](../yaml-workflow-executor/SKILL.md) - Workflow orchestration151- [engineering-report-generator](../engineering-report-generator/SKILL.md) - Report generation152- [parallel-file-processor](../parallel-file-processor/SKILL.md) - Parallel file operations153154---155156## Version History157158- **1.1.0** (2026-01-02): Upgraded to SKILL_TEMPLATE_v2 format with Quick Start, Error Handling, Metrics, Execution Checklist, additional examples159- **1.0.0** (2024-10-15): Initial release with DataReader, DataValidator, DataTransformer, pipeline orchestration160161## Sub-Skills162163- [Example 1: Simple CSV Processing (+3)](example-1-simple-csv-processing/SKILL.md)164- [Do (+6)](do/SKILL.md)165166## Sub-Skills167168- [Error Handling](error-handling/SKILL.md)169- [Execution Checklist](execution-checklist/SKILL.md)170- [Metrics](metrics/SKILL.md)