Open de projectmap
Kies de map met je eigen export en een kopie ervan. De bestandstools werken binnen die chatmap.
Geautomatiseerd data opschonen betekent hier een Python-script dat je opgeschreven regels op een bestand toepast en het resultaat als nieuw bestand bewaart. Je hebt een export met losse spaties, herhaalde rijen en getallen als tekst. Het script houd je zelf. Je kunt het lezen en opnieuw draaien, en het origineel is nooit de uitvoer.
Kies de map met je eigen export en een kopie ervan. De bestandstools werken binnen die chatmap.
Zeg welke kolommen je bijsnijdt, welke sleutel duplicaten vindt en wat er met lege plekken gebeurt. Plan only somt de stappen eerst op.
Shell draait het script met je Python-opdracht en toont de echte exitcode en de afgedrukte rijaantallen.
Lees de diff, vergelijk het nieuwe bestand met het origineel en controleer rijen met de hand voordat je accepteert.
./1 bestand./clean_customers.pyopgeslagenyour Python command clean_customers.pyexit 0./clean_customers.py17 regelsrows = [
{"email": " Ann@Mail.com ", "age": "34"},
{"email": "ann@mail.com", "age": "34"},
{"email": "Bo@Mail.com", "age": "n/a"},
]
seen, clean = set(), []
for row in rows:
email = row["email"].strip().lower()
if email in seen:
continue
seen.add(email)
try:
age = int(row["age"].strip())
except ValueError:
age = None
clean.append({"email": email, "age": age})
print("rows in:", len(rows), "rows out:", len(clean))Het haalt spaties weg, zet het e-mailadres in kleine letters, slaat herhalingen over met een set en maakt van de leeftijdstekst een getal of None. Het bevat 3 verzonnen rijen. Bij het draaien drukt het 3 erin, 2 eruit af.
Om duplicaten uit een grote CSV te verwijderen heb je eerst een duidelijke sleutel nodig, bijvoorbeeld een genormaliseerd e-mailadres, omdat exacte duplicaten rijen missen die alleen in spaties of hoofdletters verschillen. Fredit Flow gebruikt grep om in de sleutelkolom te zoeken naar losse spaties en hoofdletters, daarna slaat write_file dedupe.py op en draait Shell het op een kopie van de export met je eigen Python-opdracht. Het script houdt de eerste rij per sleutel en schrijft de rest naar een apart bestand. Het origineel blijft. Controleer de 2 afgedrukte rijaantallen, open het controlebestand en bevestig dat elk paar echt dezelfde klant is voordat je de uitvoer accepteert.
CSV-data opschonen is zelden in één ronde klaar, en de herhalingen tussen opschonen en analyseren zijn normaal: een grafiek toont een vreemde waarde, je voegt een regel toe en draait opnieuw. Vraag om de wijziging. edit_file past het script aan en toont de diff, Shell draait het opnieuw op dezelfde kopie, en de nieuwe run moet naar een anders genoemd uitvoerbestand schrijven zodat het eerste bewaard blijft, wat je in de diff kunt nagaan. Draai het daarna eenmaal op een tweede voorbeeldbestand van dezelfde bron. Als de exitcode of een rijaantal er verkeerd uitziet, stop je, lees je de diff opnieuw en beslis je zelf.