Rommelige Excel-bestanden automatisch opschonen voordat ze het systeem binnenkomen. Structuurdetectie, kolomherkenning, type-inferentie en waarde-normalisatie — aangestuurd door een LLM in plaats van handmatige regels.
Excel-bestanden van externe partijen bevatten structurele problemen: samengevoegde cellen, meerdere tabellen per sheet, kopteksten op onverwachte rijen, inconsistente datumnotaties, valuta als tekst, en onzichtbare tekens (NBSP, zero-width spaces). Bestaande tools lossen elk een deelprobleem op maar geen enkele combineert het volledige traject.
Excel-opschoning is de stap vóór de import-assistent. De opschoning levert een schoon, gestructureerd bestand op. De import-assistent bepaalt vervolgens hoe de data in het systeem terechtkomt (dedup, linking, profiel).
| Tool | Sterren | Dekt af |
|---|---|---|
| Docling (IBM) | 57k | AI-tabelextractie uit Excel/PDF, merged cells, multi-level headers |
| OpenRefine | 12k | Interactieve opschoning, clustering van varianten |
| pyjanitor | 1.5k | Chainable pandas-cleaning: clean_names, remove_empty |
| DataPrep | 2.2k | 140+ cleaning-API's, auto-infer met clean_df |
| Great Expectations | 11k | Declaratieve validatieregels |
| Valentine (TU Delft) | 107 | Fuzzy kolomnaam-matching met 5 algoritmes |
| visions | 217 | Semantische type-inferentie |
| thefuzz | 3.6k | Levenshtein-gebaseerde fuzzy matching |
| dedupe | 4.5k | Active-learning deduplicatie en entity resolution |
| TableSense (Microsoft) | 48 | CNN voor detectie van meerdere tabellen op één sheet |
| Cellm | 922 | LLM-aangedreven formules in Excel |
| AI Sheets (HuggingFace) | 1.6k | No-code spreadsheet met LLM-cleaning |
Geen enkele open-source tool combineert koptekst-detectie, merged-cell-handling, multi-tabel-extractie, fuzzy kolom-matching en type-inferentie in één pakket. De LLM-aanpak vervangt 4-6 losse bibliotheken met één aanroep voor de moeilijkste stappen (structuurherkenning, semantische kolom-matching).
| Stap | Traditioneel | LLM-aanpak |
|---|---|---|
| Koptekst-detectie | messytables heuristiek | Claude interpreteert eerste 20 rijen |
| Multi-tabel-detectie | TableSense CNN | Claude herkent lege rij/kolom-patronen |
| Kolom-mapping | Valentine + thefuzz | Claude matcht semantisch ("DOB" → geboortedatum) |
| Type-inferentie | visions | Hybride: visions voor bulk, Claude voor edge cases |
| Normalisatie | pyjanitor + ftfy + regex | Regelgebaseerd (sneller, deterministisch) |