@livar-bergheim Tusen takk for oppfølgingen! Jeg er glad jeg var ydmyk i min første post og antydet at feilen nok kunne ligge på min side. Ved nærmere testing, og etter noen tips fra @steinar-skagemo , viser det seg nemlig at feilen nettopp ligger på min side. Det viser seg altså at xlsx-filen man får ned fra APIet til Brreg inneholder to faner. Dersom Xlsx2csv-modulen kjøres uten parametere, tar den bare første fanen, og da mister man data. Jeg løste det ved å kjøre Xlsx2csv-modulen to ganger, en gang for hvert sheet, og deretter slå sammen resultatene fra disse to kjøringene, og droppe duplikatene. Da stemmer tallene overens fra xlsx og direktesøk i APIet til Brreg. Det er nok mangt man kan si om koden under, men den viser hvert fall hvordan det kan gjøres. Igjen tusen takk for at både du og Steinar fulgte opp, saken er løst
def lag_utvalg():
Xlsx2csv(ER_FULL_FIL, outputencoding="utf-8").convert("er1.csv", sheetid=1)
Xlsx2csv(ER_FULL_FIL, outputencoding="utf-8").convert("er2.csv", sheetid=2)
df_fane1 = pd.read_csv('er1.csv')
df_fane2 = pd.read_csv('er2.csv')
df_kombinert = pd.concat([df_fane1, df_fane2], ignore_index=True, sort=False)
df_kombinert_trimmet = df_kombinert[["Organisasjonsnummer", "Navn", 'Organisasjonsform.kode', "Organisasjonsform.beskrivelse", "Næringskode 1", "Næringskode 1.beskrivelse", "Næringskode 2", "Næringskode 2.beskrivelse", "Næringskode 3", "Næringskode 3.beskrivelse", "Postadresse.adresse", "Postadresse.kommune", "Registreringsdato i Enhetsregisteret", "Antall ansatte"]]
df_utvalg = df_kombinert_trimmet.astype(str)
sok_etter = list(NACE_UTVALG.split(","))
nace_utvalg_1 = df_utvalg[df_utvalg['Næringskode 1'].str.contains('|'.join(sok_etter))]
nace_utvalg_2 = df_utvalg[df_utvalg['Næringskode 2'].str.contains('|'.join(sok_etter))]
nace_utvalg_3 = df_utvalg[df_utvalg['Næringskode 3'].str.contains('|'.join(sok_etter))]
utvalg = pd.concat([nace_utvalg_1, nace_utvalg_2, nace_utvalg_3], ignore_index=True, sort=False).drop_duplicates(subset=['Organisasjonsnummer'])
skriv_csv(utvalg, ER_UTVALG_FIL)