Hoppa till innehållet
AI-grafen
CByggareProgrammering· ca 30 min· grundkunskap som ändras sällan· verifierad 2026-09-20

Python — filer, CSV och JSON

Kunna läsa och skriva filer, CSV och JSON och hantera fel vid inläsning.

Intuition

Data lagras i filer. Tre format du stöter på ofta i arbetslivet:

  • Textfil (.txt): enkla rader.
  • CSV: tabellformat, en rad per post, kolumner separerade med komma eller semikolon.
  • JSON: nästlade strukturer (listor och ordböcker) som motsvarar Pythons list och dict.

Öppna alltid filer med with open(...) as f: så att filen stängs automatiskt, även om ett fel uppstår. Ange encoding="utf-8" för att undvika problem med specialtecken som å, ä och ö.

Kod

import csv, json

with open("anstallda.csv", encoding="utf-8") as f:
    rader = list(csv.DictReader(f, delimiter=";"))
print(rader[0])                 # {'namn': 'Anna', 'timmar': '14'}
total = sum(int(r["timmar"]) for r in rader)

data = {"avdelning": "IT", "anstallda": rader}
with open("avdelning.json", "w", encoding="utf-8") as f:
    json.dump(data, f, ensure_ascii=False, indent=2)

try:
    with open("saknas.csv") as f:
        ...
except FileNotFoundError:
    print("Filen hittades inte — kontrollera sökvägen")

CSV-läsaren returnerar alltid strängar — du måste konvertera dem själv till tal. JSON bevarar datatyperna (tal, listor, booleska värden).

Behärskning innebär

  • Läser och skriver textfiler med with
  • Läser CSV och JSON till Python-strukturer
  • Hanterar fel vid inläsning

Förkunskaper

Logga in för att göra övningarna och bygga upp din behärskning.

Källor

Alla källor och licenser