Python Academy · leksjon

Lese arbeidsbøker

Åpne og lese Excel-filer

Leksjon 1 av 413 trinn

Lese arbeidsbøker er en gratis leksjon i Python Academy på CoddyKit. Dette er leksjon 1 av 4. Du kan lese hele leksjonen gratis nedenfor – og deretter øve praktisk i nettleseren med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt. Den er en del av læringsløpet i Python Academy, og fremdriften din synkroniseres mellom nettet og CoddyKit-appen. Kurset i Python Academy inneholder totalt 4 leksjoner.

Excel fra Python

openpyxl er standardbiblioteket for å lese og skrive moderne Excel-filer (formatet .xlsx). Det lar Python automatisere regnearkoppgaver som ellers måtte gjøres manuelt.

Denne leksjonen fokuserer på å åpne filer og lese innholdet deres.

Arbeidsbokmodellen

Excel-filer har et tydelig hierarki som openpyxl gjenspeiler:

  • Workbook hele filen
  • Worksheet én fane i filen
  • Cell én enkelt boks i A1-format med en verdi

De går fra arbeidsbok til regneark og videre til celle.

Åpne en fil

load_workbook('data.xlsx') leser en fil og returnerer en arbeidsbok. For store filer som De bare skal lese, kan De angi read_only=True for å lese radene fortløpende og spare minne.

Bruk data_only=True for å lese den sist beregnede verdien i formelceller i stedet for selve formelen.

Velge et regneark

wb.active gir Dem regnearket som er valgt nå. wb['Sheet1'] velger et regneark etter navn, og wb.sheetnames viser alle fanene. Å velge riktig regneark er første trinn i enhver leseoperasjon.

sheetnames = ['Summary', 'Q1', 'Q2', 'Q3']
wanted = 'Q2'
if wanted in sheetnames:
    print('Selecting sheet:', wanted)
else:
    print('Not found, defaulting to', sheetnames[0])

Lese én enkelt celle

Hent en celle ved hjelp av Excel-adressen: ws['A1'].value, eller ved hjelp av tall med ws.cell(row=1, column=1).value. Attributtet .value inneholder de faktiske dataene, som kan være tekst, et tall, en dato eller None.

Kolonnebokstaver og -numre

Excel-kolonner er bokstaver (A, B, ... Z, AA), men openpyxl bruker også numre som starter på 1. Det kan av og til være nødvendig å konvertere mellom dem. Her finner De kolonnenummeret ut fra en bokstav.

def col_to_num(letters):
    num = 0
    for ch in letters.upper():
        num = num * 26 + (ord(ch) - ord('A') + 1)
    return num

for c in ['A', 'B', 'Z', 'AA']:
    print(c, '->', col_to_num(c))

Gå gjennom rader

ws.iter_rows(values_only=True) gir hver rad som en tuppel med verdier. Dette er den ryddigste måten å lese en tabell på. Den første raden er vanligvis overskriften.

De går gjennom radene på samme måte som alle andre iterable objekter.

rows = [
    ('Name', 'Age', 'City'),
    ('Ada', 36, 'London'),
    ('Linus', 54, 'Helsinki'),
]
header = rows[0]
for record in rows[1:]:
    print(dict(zip(header, record)))

Finne det brukte området

ws.max_row og ws.max_column viser hvor langt dataene strekker seg. ws.dimensions returnerer områdestrengen, for eksempel 'A1:C10'. Bruk disse for å unngå å lese tomme celler.

Lese et område

De kan hente et utsnitt av et regneark: ws['A1:C3'] returnerer en tuppel med radtupler som inneholder celleobjekter. Dette er nyttig når De bare trenger en del av et regneark, ikke hver eneste rad.

Håndtere tomme celler

Tomme celler returnerer None. Regneark i praksis kan være rotete, så ta høyde for manglende verdier når De leser, for eksempel ved å erstatte dem med en standardverdi. Dette hindrer krasj senere i prosessen.

raw_row = ('Ada', None, 'London')
clean = [v if v is not None else 'N/A' for v in raw_row]
print(clean)

Lese fra flere regneark

En arbeidsbok kan ha data fordelt på flere faner, for eksempel én per måned. Gå gjennom wb.sheetnames, velg hvert regneark og les det med samme logikk. Merk hver rad med navnet på regnearket for å holde oversikt over opphavet.

Dette mønsteret samler mange faner i ett kombinert datasett.

Hurtigsjekk

Test leseferdighetene Deres.

Oppsummering

De kan nå lese Excel-filer:

  • Hierarki: arbeidsbok > regneark > celle
  • load_workbook med alternativene read_only og data_only
  • Velg regneark via wb.active, wb['Name'], wb.sheetnames
  • Les med .value og iter_rows(values_only=True), og kontroller max_row / max_column
  • Ta høyde for None i tomme celler
Gratis å komme i gang

Lær deg Python med en AI-veileder – gratis

Skriv og kjør ekte kode i nettleseren, få umiddelbar hjelp fra en AI-veileder som er tilgjengelig døgnet rundt, og fortsett der du slapp – på nettet eller i appen.

Kurs
76
Leksjoner
320

Ofte stilte spørsmål

Er leksjonen «Lese arbeidsbøker» gratis?

Ja – hele teksten i «Lese arbeidsbøker» er gratis å lese her på nettet. For å øve interaktivt med en innebygd kodeeditor og en AI-veileder som er tilgjengelig døgnet rundt, og for å låse opp resten av Python Academy-kurset, kan du oppgradere til CoddyKit PRO. Kurset i Python Academy inneholder totalt 4 leksjoner.

Hva lærer jeg i «Lese arbeidsbøker»?

Åpne og lese Excel-filer Du øver på Python Academy med praktisk kode som du kjører direkte i nettleseren, mens en AI-veileder som er tilgjengelig døgnet rundt, svarer på spørsmålene dine mens du jobber deg gjennom leksjonen.

Trenger jeg erfaring for å begynne med Python Academy?

Ingen tidligere erfaring er nødvendig. Python Academy på CoddyKit er lagt opp for både nybegynnere og viderekomne, så De kan begynne her eller helt fra start og lære i Deres eget tempo. Dette er leksjon 1 av 4.

Hvor lang tid tar leksjonen «Lese arbeidsbøker»?

De fleste CoddyKit-leksjoner tar omtrent 5–10 minutter. Hver leksjon er kort og interaktiv, slik at De gjør jevne fremskritt og kan fortsette akkurat der De slapp – både på nettet og i appen.

Kan jeg skrive og kjøre kode i denne Python Academy-leksjonen?

Ja. Alle Python Academy-leksjoner har en innebygd kodeeditor, slik at De kan skrive og kjøre ekte kode direkte i nettleseren og få umiddelbar tilbakemelding fra AI – uten lokal konfigurering.

Alle leksjonene i dette kurset

  1. Lese arbeidsbøker
  2. Skrive og formatere celler
  3. Formler og diagrammer
  4. Partibehandling av rapporter
← Tilbake til Python Academy