Python Academy · Lektion

Formler og diagrammer

Tilføj formler og diagrammer

Lektion 3 af 413 trin

Formler og diagrammer er en gratis Python Academy-lektion på CoddyKit. Dette er lektion 3 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.

Ud over statiske værdier

Rigtige regneark beregner. openpyxl kan skrive Excel-formler, som beregnes igen, når data ændres, og tilføje diagrammer, der visualiserer tallene direkte i projektmappen.

Det får genererede rapporter til at føles naturlige for Excel-brugere.

Skrivning af en formel

En formel er blot en streng, der begynder med =. Tildel den som enhver anden værdi: ws['B10'] = '=SUM(B2:B9)'. Excel beregner den, når filen åbnes.

openpyxl gemmer formelteksten, men beregner ikke selv resultatet.

first_row, last_row = 2, 9
formula = '=SUM(B' + str(first_row) + ':B' + str(last_row) + ')'
print('Cell B10 ->', formula)

Almindelige funktioner

De almindelige Excel-funktioner fungerer alle som strenge:

  • =SUM(range) total
  • =AVERAGE(range) gennemsnit
  • =MAX(range) / =MIN(range)
  • =COUNT(range) antal tal

Du sammensætter dem præcis, som du ville skrive dem i Excel.

Formler beregnes ikke i Python

Vigtigt: Hvis du skriver en formel og derefter læser den tilbage med openpyxl uden at åbne filen i Excel, får du formelteksten og ikke tallet. Hvis du vil læse beregnede resultater, skal du først åbne filen i Excel og derefter indlæse den med data_only=True.

Oprettelse af cellereferencer

Generering af formler indebærer ofte, at du opbygger referencer programmatisk. Når du kombinerer et kolonnebogstav med et rækkenummer, får du en adresse. Det er almindeligt strengarbejde.

col = 'C'
def cell_ref(c, r):
    return c + str(r)

total_formula = '=AVERAGE(' + cell_ref(col, 2) + ':' + cell_ref(col, 11) + ')'
print(total_formula)

Tilføjelse af et diagram

openpyxl kan indlejre diagrammer. Du opretter et diagramobjekt som f.eks. BarChart(), giver det data via en Reference til et celleområde og tilføjer det til regnearket med ws.add_chart(chart, 'E2').

Diagramtyper omfatter søjle-, linje-, cirkel- og punktdiagrammer.

Referencer til data

En Reference(ws, min_col=2, min_row=1, max_row=6) vælger de celler, som diagrammet læser. Kategorierne (etiketterne) kommer fra en anden reference. Det afgørende skridt er at få disse områder rigtige.

data_rows = 6
ref = {'min_col': 2, 'min_row': 1, 'max_row': data_rows}
print('Chart reads column', ref['min_col'], 'rows', ref['min_row'], 'to', ref['max_row'])

Diagramtitler og akser

Indstil chart.title = 'Monthly Sales', og navngiv akserne via chart.x_axis.title og chart.y_axis.title. Et navngivet diagram i rapporten kræver ingen separat forklaring.

Valg af diagramtype

Det samme råd som ved enhver anden visualisering gælder her: søjlediagrammer til sammenligning af kategorier, linjediagrammer til tendenser og cirkeldiagrammer til dele af en helhed. Vælg den type, der passer til det spørgsmål, din rapport besvarer.

question = 'how did revenue change month over month'
if 'change' in question or 'trend' in question:
    print('Use a LineChart')
else:
    print('Use a BarChart')

Samling af det hele

En typisk rapport skriver datatabellen, tilføjer en totalformel nederst og placerer derefter et diagram, der refererer til de samme data. Når filen åbnes, viser Excel dynamiske totaler og en visualisering, som alt sammen er genereret fra Python.

Betingede formler

Excels logikfunktioner fungerer også som strenge: =IF(B2>100, 'High', 'Low') eller =SUMIF(A2:A9, 'North', B2:B9). De gør det muligt for din genererede rapport at klassificere og aggregere uden ekstra gennemløb i Python.

Opbyg dem med den samme strengsammenkædning, som du bruger til enhver anden formel.

Hurtigt tjek

Afprøv din viden om formler og diagrammer.

Opsummering

Du kan nu tilføje logik og visualiseringer:

  • Skriv formler som strenge med =; openpyxl gemmer dem, men beregner dem ikke
  • Brug data_only=True, efter Excel har beregnet resultaterne
  • Opbyg referencer programmatisk ud fra kolonnebogstaver og rækkenumre
  • Indlejr diagrammer med BarChart()/LineChart(), en Reference og ws.add_chart
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 “Formler og diagrammer” gratis?

Ja — hele teksten til “Formler og diagrammer” 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 “Formler og diagrammer”?

Tilføj formler og diagrammer 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 3 af 4.

Hvor lang tid tager lektionen “Formler og diagrammer”?

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