Skip to content

Instantly share code, notes, and snippets.

@LtGlahn
Last active November 8, 2023 22:58
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save LtGlahn/5ada41d53b172e6852be1c2741855e6c to your computer and use it in GitHub Desktop.
Save LtGlahn/5ada41d53b172e6852be1c2741855e6c to your computer and use it in GitHub Desktop.
Demo på hvordan du kan koble regneark fra fagsystem med NVDB data
import pandas as pd
import nvdbapiv3
# Dette regnearket leser vi typisk med
# pd.read_excel( 'filnavn.xlsx', sheet_name='Navn på fane med data',
# skiprows=6 )
# skiprows = antall linjer med drit i headeren på regnearket før raden med kolonnenavn
# Men her faker vi et regneark med to rader
statusregneark = pd.DataFrame([ { 'Navn' : 'R70022 - Fv. 237 Desetvegen, Osmoen-Deset',
'Status i fagsystem' : 'Planstadiet',
'Kommentar' : 'Likt med NVDB' },
{ 'Navn' : 'R70033 - Sørskogbygdvegen, x fv 2132-Brenna',
'Status i fagsystem' : 'Under bygging',
'Kommentar' : 'NVDB må oppdateres med status Planstadiet => Under bygging' } ])
nvdbtabell = pd.DataFrame( nvdbapiv3.nvdbFagdata( 30,
filter={'vegsystemreferanse' : 'Fv', 'fylke' : 34 } ).to_records( vegsegmenter=False ) )
# Lager vegkart-lenke til tabellen
nvdbtabell['vegkart'] = nvdbtabell['nvdbId'].apply( lambda x : 'http://vegkart.no#valgt:' + str( x) + ':30' )
# Lager brukervennlig utdrag av tabellen
nvdbtabell_pen = nvdbtabell[['Navn', 'nvdbId', 'Status',
'Beskrivelse', 'Type prosjekt', 'Dato ferdigstilt',
'vegsystemreferanser', 'vegkart' ]]
# Kobler tabellen på navn
# Kan også bruke left_on='Kolonnenavn venstre', right_on='kolonnenavn høyre'
joined = pd.merge( statusregneark, nvdbtabell_pen, on='Navn', how='left' )
avviker = joined[ joined['Status i fagsystem'] != joined['Status'] ]
avviker.to_excel( 'avviksdemo.xlsx' )
# inspiserer i interaktivt shell
avviker
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment