Werkmappen lezen
Open en lees Excel-bestanden
Werkmappen lezen is een gratis Python Academy-les op CoddyKit. Dit is les 1 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject Python Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Python Academy bevat in totaal 4 lessen.
Excel vanuit Python
openpyxl is de standaardbibliotheek voor het lezen en schrijven van moderne Excel-bestanden (de indeling .xlsx). Met deze bibliotheek kan Python spreadsheettaken automatiseren die mensen anders met de hand zouden uitvoeren.
Deze les richt zich op het openen van bestanden en het lezen van hun inhoud.
Het werkmapmodel
Excel-bestanden hebben een duidelijke hiërarchie die openpyxl weerspiegelt:
- Werkmap: het hele bestand
- Werkblad: één tabblad daarin
- Cel: één vak in A1-notatie met een waarde
Je navigeert van werkmap naar werkblad naar cel.
Een bestand openen
load_workbook('data.xlsx') leest een bestand en retourneert een werkmap. Geef voor grote bestanden die je alleen leest read_only=True mee om rijen stapsgewijs in te lezen en geheugen te besparen.
Gebruik data_only=True om het laatst berekende resultaat van formulecellen te lezen in plaats van de formulereeks.
Een werkblad selecteren
wb.active geeft het momenteel geselecteerde werkblad. Met wb['Sheet1'] selecteer je een werkblad op naam en met wb.sheetnames krijg je een lijst van alle tabbladen. Het juiste werkblad kiezen is de eerste stap bij elke leesbewerking.
sheetnames = ['Summary', 'Q1', 'Q2', 'Q3']
wanted = 'Q2'
if wanted in sheetnames:
print('Selecting sheet:', wanted)
else:
print('Not found, defaulting to', sheetnames[0])Eén cel lezen
Je benadert een cel via het Excel-adres: ws['A1'].value, of via getallen met ws.cell(row=1, column=1).value. Het attribuut .value bevat de werkelijke gegevens, die tekst, een getal, een datum of None kunnen zijn.
Kolomletters en -nummers
Excel-kolommen zijn letters (A, B, ... Z, AA), maar openpyxl gebruikt ook getallen die bij 1 beginnen. Soms moet je tussen beide notaties converteren. Hier zie je het kolomnummer bij een letter.
def col_to_num(letters):
num = 0
for ch in letters.upper():
num = num * 26 + (ord(ch) - ord('A') + 1)
return num
for c in ['A', 'B', 'Z', 'AA']:
print(c, '->', col_to_num(c))Rijen doorlopen
ws.iter_rows(values_only=True) levert elke rij op als een tupel met waarden. Dit is de duidelijkste manier om een tabel te lezen. De eerste rij is meestal de koptekst.
Je doorloopt rijen net als elk itereerbaar object.
rows = [
('Name', 'Age', 'City'),
('Ada', 36, 'London'),
('Linus', 54, 'Helsinki'),
]
header = rows[0]
for record in rows[1:]:
print(dict(zip(header, record)))Het gebruikte bereik vinden
ws.max_row en ws.max_column geven aan tot waar de gegevens doorlopen. ws.dimensions retourneert een bereikreeks zoals 'A1:C10'. Gebruik deze om te voorkomen dat je lege cellen leest.
Een bereik lezen
Je kunt een werkblad uitsnijden: ws['A1:C3'] retourneert een tupel met rijen die elk een tupel van celobjecten zijn. Dit is handig wanneer je slechts een deel van een werkblad nodig hebt in plaats van elke rij.
Lege cellen verwerken
Lege cellen retourneren None. Echte spreadsheets zijn rommelig, dus vang ontbrekende waarden af wanneer je leest, bijvoorbeeld door een standaardwaarde in te vullen. Zo voorkom je crashes verderop in de verwerking.
raw_row = ('Ada', None, 'London')
clean = [v if v is not None else 'N/A' for v in raw_row]
print(clean)Gegevens uit meerdere werkbladen lezen
Een werkmap kan gegevens over meerdere tabbladen verdelen, bijvoorbeeld één tabblad per maand. Doorloop wb.sheetnames, selecteer elk werkblad en lees het met dezelfde logica. Voorzie elke rij van de naam van het werkblad om de herkomst bij te houden.
Met dit patroon voeg je veel tabbladen samen tot één gecombineerde gegevensverzameling.
Korte controle
Toets je leesvaardigheid.
Samenvatting
Je kunt nu Excel-bestanden lezen:
- Hiërarchie: werkmap > werkblad > cel
load_workbookmet de optiesread_onlyendata_only- Selecteer werkbladen via
wb.active,wb['Name']enwb.sheetnames - Lees met
.valueeniter_rows(values_only=True), en controleermax_row/max_column - Vang
Noneaf voor lege cellen
Leer Python met een AI-tutor — gratis
Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.
- Cursussen
- 76
- Lessen
- 320
Veelgestelde vragen
Is de les “Werkmappen lezen” gratis?
Ja — de volledige tekst van “Werkmappen lezen” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus Python Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Python Academy bevat in totaal 4 lessen.
Wat leer ik in “Werkmappen lezen”?
Open en lees Excel-bestanden Je oefent met Python Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.
Heb ik ervaring nodig om met Python Academy te beginnen?
Ervaring vooraf is niet nodig. Python Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.
Hoe lang duurt de les “Werkmappen lezen”?
De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.
Kan ik code schrijven en uitvoeren in deze les over Python Academy?
Ja. Elke les over Python Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.