Werken met CSV-bestanden (Comma-Separated Values) is in de programmering een veelvoorkomende taak die zich in veel praktische toepassingen aandient. Of je nu gegevens van API's ophaalt of voorraad beheert — de mogelijkheid om CSV-bestanden te lezen en te schrijven is onmisbaar. In deze handleiding leer je hoe je effectief met Python CSV-bestanden kunt verwerken. We zullen kijken naar het maken van CSV-bestanden, het lezen van gegevens en het manipuleren van deze gegevens.
Belangrijkste inzichten
- Moduuloverzicht: Python biedt een ingebouwd CSV-module, die CSV-Reader en Writer beschikbaar stelt.
- Gegevensstructuur: Je kunt zowel lijsten als dictionaries gebruiken om gegevens op te slaan en te verwerken.
- Efficiënte I/O-afhandeling: Gebruik with open(...) voor bestandstoegang, zodat je je geen zorgen hoeft te maken over het sluiten van de bestanden.
Stapsgewijze handleiding
Map aanmaken en CSV-bestand creëren
In het begin maak je een lege map aan. In deze map dien je een bestand met de naam csvbestanden.py te creëren. Dit bestand zal je hoofdscript zijn voor het werken met CSV-bestanden.

In je Python-bestand kun je het CSV-bestand aanmaken door de naam producten.csv te gebruiken. In dit bestand ga je de kolommen met de koppen Product ID, Naam, Prijs en Voorraad definiëren.

Het CSV-bestand zou er bijvoorbeeld zo uit kunnen zien:
Product ID,Naam,Prijs,Voorraad 1,iPad,399,50 2,Nerfgun,29.99,100
CSV-bestand lezen
Om gegevens uit het producten.csv-bestand te lezen, heb je de CSV-module nodig. De module stelt je in staat om CSV-gegevens efficiënt te verwerken. Je kunt de gegevens omzetten naar een leesbaar formaat door with open(...) te gebruiken. Dit voorkomt dat je handmatig bestandobjecten moet sluiten en maakt je code schoner en veiliger.
In de volgende stap maak je een CSV-reader aan. Hiermee kun je het bestand regel voor regel doorlopen en de gegevens extraheren:
with open('producten.csv', newline='', encoding='utf-8') as csvfile: csvreader = csv.reader(csvfile) for row in csvreader: print(row)

Hierbij wordt elke regel als een lijst uitgelezen, wat aantoont dat de gegevens zoals verwacht gestructureerd zijn. Elke regel komt overeen met een product en bevat informatie over ID, Naam, Prijs en Voorraad.
Gebruik van dictionaries voor intuïtievere gegevensverwerking
Om de gegevens eenvoudiger en intuïtiever te verwerken, moet je het dictionary-formaat gebruiken. Met een dictionary-reader kun je de toegang tot je gegevens door de veldnamen vergemakkelijken.

Hier heb je ook with open(...) nodig om het bestand te openen en de CSV-reader aan te maken. Zorg ervoor dat je een lijst van de velden opgeeft die je wilt uitlezen:

Nu kun je eenvoudig toegang krijgen tot de velden via de namen. Dit maakt je verwerking veel toegankelijker.
CSV-bestand schrijven
Om eigen gegevens in een CSV-bestand te schrijven, kun je een dictionary-writer-object gebruiken. Je hebt de mogelijkheid om een lijst van dictionaries aan te maken die je gegevens vertegenwoordigen.

Hier is een eenvoudig voorbeeld van hoe je een lijst met superhelden als CSV-bestand kunt opslaan:
with open('superhelden.csv', 'w', newline='') as csvfile: fieldnames = ['Naam', 'Alias'] writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

Het bestand superhelden.csv wordt nu aangemaakt en bevat de gegevens van de superhelden in een goed gestructureerd, leesbaar formaat.
Afsluiting en praktische toepassing
CSV-bestanden zijn een waardevol hulpmiddel voor gegevensuitwisseling, dat in de praktijk vaak nodig is. Deze handleiding biedt je de basis voor het verwerken van CSV-bestanden met Python. Je hebt geleerd hoe je gegevens uit CSV-bestanden uitleest, deze in Python verwerkt en eigen gegevens in het CSV-formaat schrijft.
Samenvatting – Verwerking van CSV-bestanden met Python
CSV-bestanden zijn een belangrijk formaat voor gegevensuitwisseling in veel toepassingen. Met Python kun je efficiënt en eenvoudig met deze bestanden werken. Als je de basis eenmaal begrijpt, kun je deze technieken gemakkelijk toepassen op complexe gegevensapplicaties.
Veelgestelde vragen
Hoe open ik een CSV-bestand in Python?Je kunt een CSV-bestand in Python openen met with open('bestandsnaam.csv', 'r'):.
Hoe kan ik gegevens in een CSV-bestand schrijven?Daarvoor gebruik je het csv.writer of csv.DictWriter-object om de gegevens te formatteren en naar het bestand te schrijven.
Wat is het verschil tussen csv.reader en csv.DictReader?De csv.reader leest de gegevens als lijsten, terwijl csv.DictReader de gegevens als dictionaries met veldnamen als sleutels uitkomt.
Hoe kan ik de header in een CSV-bestand instellen?De header kan met writeheader() bij het schrijven van een CSV-bestand via de Writer worden opgegeven.
Hoe lees ik een CSV-bestand met aangepaste veldnamen?Geef een lijst van de gewenste veldnamen door bij het aanmaken van een csv.DictReader.