Skip to content

2. Data som objekter

Stortinget har en tjeneste for åpne data (data.stortinget.no), denne kan vi bruke for å hente informasjon om hva som skjer på stortinget. I første omgang skal vi bruke listen med representanter: https://data.stortinget.no/eksport/dagensrepresentanter?format=json.

Medlemmene i regjeringen - statsråder og statsministeren - er ikke representanter på stortinget. De må lastes inn fra en annen fil som du finnner her: regjering.json

import json # øverst i python-fila
with open("representanter.json", "r", encoding="utf-8") as fil:
data = json.load(fil)
politikere_data = data["dagensrepresentanter_liste"]

UML Politiker

En politiker-ordbok i JSON-fila
{
"respons_dato_tid": "/Date(1707725577041+0100)/",
"versjon": "1.6",
"doedsdato": null,
"etternavn": "Melby",
"foedselsdato": "/Date(350002800000+0100)/",
"fornavn": "Guri",
"id": "GME",
"kjoenn": 1,
"fylke": {
"respons_dato_tid": "/Date(1707696634734+0100)/",
"versjon": "1.6",
"historisk_fylke": false,
"id": "Os",
"navn": "Oslo"
},
"parti": {
"respons_dato_tid": "/Date(1707696634688+0100)/",
"versjon": "1.6",
"id": "V",
"navn": "Venstre",
"representert_parti": true
},
"vara_representant": false,
"epost": "Guri.Melby@stortinget.no",
"fast_vara": null,
"fast_vara_for": null,
"komiteer_liste": [
{
"respons_dato_tid": "/Date(1707724364244+0100)/",
"versjon": "1.6",
"id": "UFK",
"navn": "Utenriks- og forsvarskomiteen"
}
],
"vara": null,
"vara_for": null
}
class Politiker:
def __init__(self, politiker_ordbok: dict) -> None:
self.fornavn: str = politiker_ordbok["fornavn"]
self.etternavn: str = politiker_ordbok["etternavn"]
self.kjønn: str = "kvinne" if politiker_ordbok["kjoenn"] == 1 else "mann"
self.fylke: str = politiker_ordbok["fylke"]["navn"]
self.parti: str = politiker_ordbok["parti"]["navn"]
self.komiteer = [komite["navn"] for komite in politiker_ordbok["komiteer_liste"]]
self.ukepoeng: list[int] = []
self.verdi: int = 1000
def __str__(self) -> str:
return f"{self.etternavn}, {self.etternavn} ({self.parti})"
def gi_ukepoeng(self, poeng: int) -> None:
self.ukepoeng.append(poeng)
from politiker import Politiker # øverst i python-fila
politikere = []
for politiker_ordbok in politikere_data:
ny_politiker = Politiker(politiker_ordbok)
politikere.append(ny_politiker)