Python Academy · Lektion

Læsning af workbooks

Åbn og læs Excel-filer

Lektion 1 af 413 trin

Læsning af workbooks er en gratis Python Academy-lektion på CoddyKit. Dette er lektion 1 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Python Academy, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Python Academy-kurset indeholder 4 lektioner i alt.

Excel fra Python

openpyxl er standardbiblioteket til at læse og skrive moderne Excel-filer (formatet .xlsx). Det gør det muligt for Python at automatisere regnearksopgaver, som man ellers skulle udføre manuelt.

Denne lektion fokuserer på at åbne filer og læse deres indhold.

Workbook-modellen

Excel-filer har et tydeligt hierarki, som openpyxl afspejler:

  • Workbook: hele filen
  • Worksheet: én fane i filen
  • Cell: en enkelt celle i A1-format med en værdi

Du navigerer fra projektmappe til regneark og derefter til celle.

Åbning af en fil

load_workbook('data.xlsx') læser en fil og returnerer en projektmappe. For store filer, som du kun læser, kan du angive read_only=True for at gennemløbe rækkerne og spare hukommelse.

Brug data_only=True til at læse det senest beregnede resultat af formelceller i stedet for selve formelteksten.

Valg af et regneark

wb.active giver dig det aktuelt valgte regneark. wb['Sheet1'] vælger et regneark efter navn, og wb.sheetnames viser alle faner. At vælge det rigtige regneark er første skridt i enhver læsning.

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

Læsning af en enkelt celle

Du kan tilgå en celle via dens Excel-adresse: ws['A1'].value, eller via tal med ws.cell(row=1, column=1).value. Attributten .value indeholder de faktiske data, som kan være tekst, et tal, en dato eller None.

Kolonnebogstaver og -numre

Excel-kolonner er bogstaver (A, B, ... Z, AA), men openpyxl bruger også numre, der starter ved 1. Det kan af og til være nødvendigt at konvertere mellem dem. Her henter du kolonnenummeret ud fra et bogstav.

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))

Gennemløb af rækker

ws.iter_rows(values_only=True) returnerer hver række som en tuppel af værdier. Det er den enkleste måde at læse en tabel på. Den første række er normalt overskriften.

Du gennemløber rækker på samme måde som enhver anden iterabel.

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

Find det anvendte område

ws.max_row og ws.max_column fortæller dig, hvor langt dataene strækker sig. ws.dimensions returnerer en områdestreng som 'A1:C10'. Brug dem til at undgå at læse tomme celler.

Læsning af et område

Du kan udtage et udsnit af et regneark: ws['A1:C3'] returnerer en tuppel af tupler med celleobjekter. Det er praktisk, når du kun har brug for en del af et regneark i stedet for hver række.

Håndtering af tomme celler

Tomme celler returnerer None. Rigtige regneark er ofte uensartede, så du bør håndtere manglende værdier ved læsning, for eksempel ved at indsætte en standardværdi. Det forhindrer nedbrud senere i processen.

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

Læsning på tværs af flere regneark

En projektmappe kan fordele data på flere faner, for eksempel én pr. måned. Gennemløb wb.sheetnames, vælg hvert regneark, og læs det med den samme logik. Mærk hver række med navnet på regnearket, så du kan holde styr på dens oprindelse.

Dette mønster samler mange faner i ét samlet datasæt.

Hurtigt tjek

Afprøv dine færdigheder i læsning.

Opsummering

Du kan nu læse Excel-filer:

  • Hierarki: projektmappe > regneark > celle
  • load_workbook med indstillingerne read_only og data_only
  • Vælg regneark via wb.active, wb['Name'] og wb.sheetnames
  • Læs med .value og iter_rows(values_only=True), og kontrollér max_row / max_column
  • Håndtér None for tomme celler
Gratis at komme i gang

Lær Python med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
76
Lektioner
320

Ofte stillede spørgsmål

Er lektionen “Læsning af workbooks” gratis?

Ja — hele teksten til “Læsning af workbooks” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Python Academy-kurset, skal du opgradere til CoddyKit PRO. Python Academy-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Læsning af workbooks”?

Åbn og læs Excel-filer Du øver dig i Python Academy med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Python Academy?

Der kræves ingen tidligere erfaring. Python Academy på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 1 af 4.

Hvor lang tid tager lektionen “Læsning af workbooks”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Python Academy-lektion?

Ja. Alle Python Academy-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Læsning af workbooks
  2. Skrivning og formatering af celler
  3. Formler og diagrammer
  4. Batchbehandling af rapporter
← Tilbage til Python Academy