Læsning af workbooks
Åbn og læs Excel-filer
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_workbookmed indstillingerneread_onlyogdata_only- Vælg regneark via
wb.active,wb['Name']ogwb.sheetnames - Læs med
.valueogiter_rows(values_only=True), og kontrollérmax_row/max_column - Håndtér
Nonefor tomme celler
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
- Læsning af workbooks
- Skrivning og formatering af celler
- Formler og diagrammer
- Batchbehandling af rapporter