Un package didattico per il profiling automatico di dataset CSV, Excel e JSON
Project description
📊 DataProfiler
DataProfiler è un package Python didattico per il profiling automatico di dataset. Analizza file CSV, Excel e JSON generando report dettagliati con statistiche descrittive, rilevamento di anomalie e valori mancanti.
Installazione
pip install dataprofiler-edu
Per lo sviluppo:
git clone https://github.com/tuonome/dataprofiler.git
cd dataprofiler
pip install -e ".[dev]"
Uso rapido
from dataprofiler import Profiler
# Analizza un file CSV
profiler = Profiler("vendite.csv")
report = profiler.profile()
# Stampa riepilogo
print(report.summary())
# Esporta in Markdown
profiler.export(report, "report.md")
CLI
# Profiling rapido da terminale
dataprofiler dati.csv
# Esporta in formato specifico
dataprofiler dati.csv -o report.md -f md
dataprofiler vendite.xlsx -o report.json -f json
dataprofiler prodotti.json -o report.html -f html
Formati supportati
| Input | Output |
|---|---|
CSV (.csv) |
Markdown (.md) |
Excel (.xlsx, .xls) |
JSON (.json) |
JSON (.json) |
HTML (.html) |
Funzionalità
- Rilevamento automatico del tipo di ogni colonna (numerico, testuale, data, booleano)
- Statistiche numeriche: media, mediana, min, max, deviazione standard, quartili
- Statistiche testuali: lunghezze, frequenze, valori più comuni
- Statistiche temporali: range date, frequenza, formati rilevati
- Analisi valori mancanti: conteggio, percentuale, completezza
- Warnings automatici: colonne quasi vuote, valori costanti, possibili ID
- Export multi-formato: Markdown, JSON, HTML
Concetti OOP dimostrati
Questo package è progettato come strumento didattico per un corso Python avanzato:
- Classi astratte (ABC):
BaseReader,BaseAnalyzer,BaseExporter - Ereditarietà: ogni reader/analyzer/exporter estende la propria base
- Composizione:
Profilercompone reader + analyzer + exporter - Polimorfismo: gli analyzer vengono selezionati dinamicamente
- Factory Pattern:
ReaderFactoryeExporterFactory - Strategy Pattern: exporter intercambiabili
- Dataclass: modelli dati tipizzati con property calcolate
Licenza
MIT
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dataprofiler_edu-0.1.0.tar.gz.
File metadata
- Download URL: dataprofiler_edu-0.1.0.tar.gz
- Upload date:
- Size: 28.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5dcf9d55beb879623b00b329eaae9d0c10eac104c00246fbfd940b3ba57f76d0
|
|
| MD5 |
e091e5b719766ea1055a51b6706c1115
|
|
| BLAKE2b-256 |
b677843deef1a5a6e8b62d4b0180eea5c83982799039aa86ec9e867a0375075d
|
File details
Details for the file dataprofiler_edu-0.1.0-py3-none-any.whl.
File metadata
- Download URL: dataprofiler_edu-0.1.0-py3-none-any.whl
- Upload date:
- Size: 34.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
bcecf533f62096e07af1995fffd15a4a570b3592904572dc4cf25642c8651647
|
|
| MD5 |
cb8d366cd530af887ec0068656bc60cb
|
|
| BLAKE2b-256 |
795a91280a1647927fefbd04e71def262da5d6339002dcfd2b40a701f27ca207
|