Du tror tall fra en CSV er tall
Handler om: Datasett som liste av ordbøker
Når en CSV inneholder «17», ser det ut som et tall. Men csv.DictReader gir ALT som strenger — også tall. «17» + 1 gir derfor en feil. Skal du regne, må du først gjøre verdien om med int(...) eller float(...).
Eksempel
Du skriver sum = sum + elev["alder"] og får TypeError, eller legger sammen strenger i stedet for tall.
Slik tenker du riktig om det
Husk at CSV er ren tekst, så alt kommer inn som strenger. Pakk tall-felt i int(...) (eller float(...)) før du regner: int(elev["alder"]).
Slik ser det ut i kode
Slik gikk det galt
sum = 0
for elev in data:
sum = sum + elev["alder"] # "17" er en streng -> feil Slik fikser du det
sum = 0
for elev in data:
sum = sum + int(elev["alder"]) # gjor om til tall forst