Excel-regneark kan være kraftige, men noen oppgaver kan kreve mer programmeringskraft. Skriv inn Python og Openpyxl-modulen.

Openpyxl har funksjoner som lar deg jobbe med en Excel-fil fra Python. Du kan bruke den til å behandle data, lage nye regneark og til og med manipulere formler.

Biblioteket er nyttig hvis du trenger å automatisere de samme repeterende beregningene over mange Excel-filer. Dette kan være tilfellet hvis du trenger å håndtere big data eller utføre dataanalyse.

Slik installerer du Openpyxl-modulen

Installer først Openpyxl på datamaskinen din med disse trinnene:

  1. Åpne en ledetekst og kjør følgende:
    pip installer openpyxl
  2. Hvis ovenstående ikke fungerer, kan du laste ned modulen fra Openpyxls side for nedlasting av filer:
    1. Last ned filen openpyxl-version.tar.gz.
    2. Pakk ut filens innhold.
    3. Åpne en ledetekst. Naviger til mappen med de utpakkede filene og kjør følgende kommando:
      py setup.py install

Lag dine Excel-filer og testdata

Lag mange Excel-filer og legg til noen testdata til dem. Hvis du er ny til Excel, er det mange verktøy som kan hjelpe deg å lære det.

  1. Lag flere Excel-filer i samme mappe. I dette scenariet er det fem Excel-filer. Hver fil lagrer befolkningsdata for tre forskjellige land.
  2. I hver Excel-fil legger du til noen testdata. For eksempel:

Dette eksemplet inkluderer data knyttet til befolkningen i mange land.

Hvordan lage Python-skriptet

Lag Python-skriptet som følger:

  1. Opprett en ny fil kalt dataAnalysisScript.py. Åpne den med et hvilket som helst godt tekstredigeringsprogram, for eksempel Visual Studio Code eller Atom.
  2. Legg til følgende tre importer øverst i filen. "os" og "sys" gjelder tilgang til filer på datamaskinen din eller lukking av programmet. "openpyxl" er modulen lastet ned i forrige trinn som lar deg lese og skrive Excel-filer.
    importer openpyxl
    importere os
    import sys
  3. Under importene legger du til den grunnleggende strukturen til Python-skriptet nedenfor. Husk at kodestrukturen i Python avhenger av riktig innrykk.
    # Hoved, start av programmet
    hvis __navn__ == "__main__":
    mens sant:
    # Skriv kode her
    # Når koden er ferdig, lukk programmet.
    sys.exit()
  4. Inne i while-løkken legger du til en melding til brukeren om å angi banen til mappen som inneholder Excel-filene.
    hvis __navn__ == "__main__":
    mens sant:
    # Ber brukeren angi filbanen til excel-filen.
    filePath = input('Vennligst skriv inn banen til mappen der excel-filene er lagret: ')
    # Går inn i den mappen.
    os.chdir (filbane)
    # Henter listen over Excel-filer inne i mappen.
    excelFiles = os.listdir('.')

Hvordan lese og skrive data fra Excel-filene

Bruk en for-løkke for å åpne, lese, manipulere og lukke hver av Excel-filene.

  1. Legg til en for-løkke for hver Excel-fil. Inne i løkken åpner du hver fil.
    # For hver Excel-fil
    for i innen rekkevidde (0, len (excelFiles)):
    # Dette bruker openpyxl-modulen for å åpne Excel-filen.
    wb = openpyxl.load_workbook (excelFiles[i])
    ark = wb.aktiv
  2. Følgende kode leser en bestemt verdi fra en bestemt celle:
    cellValue = ark[f'B3'].verdi
  3. Følgende kode skriver data til cellen "A10":
    ark[f'A10'].verdi = 56
    Du kan også skrive til cellen ved å spesifisere rad- og kolonnenummeret. Følgende kode legger til tallet "2" i celle "F1".
    ark.celle (rad=1, kolonne=6).verdi = 2

Slik utfører du innebygde Excel-funksjoner ved å bruke Python-skriptet

For hver Excel-fil beregner du sum, gjennomsnitt og standardavvik for hver "land"-kolonne. Følgende kode beregner summen av alle tall for hvert land:

ark[f'B11'].value = '=SUM(B4:B9)' 
ark[f'C11'].value = '=SUM(C4:C9)'
ark[f'D11'].value = '=SUM(D4:D9)'
  • '=SUM(B4:B9)' er Excel-beregningen som legger til alle tallene i B-kolonnen mellom cellene B4 og B9.
  • ark[f'B11'].verdi er verdien i celle B11. Programmet vil lagre det endelige resultatet i denne cellen.

Du kan også beregne gjennomsnitt og standardavvik Excel-funksjoner på samme måte som vist ovenfor.

ark[f'B12'].value = '=GJENNOMSNITT(B4:B9)'
ark[f'C12'].value = '=GJENNOMSNITT(C4:C9)'
ark[f'D12'].value = '=GJENNOMSNITT(D4:D9)'
ark[f'B13'].value = '=STDEV(B4:B9)' 
ark[f'C13'].value = '=STDEV(C4:C9)'
ark[f'D13'].value = '=STDEV(D4:D9)'

Hvordan skrive til filen og lukke arbeidsboken

Den gjenværende koden lagrer og lukker hver arbeidsbok, og lukker deretter programmet.

  1. Inne i for-løkken, etter å ha utført de nødvendige Excel-funksjonene, lagre endringene som er gjort i Excel-filen.
    wb.save (excelFiles[i])
    print (excelFiles[i] + ' fullført.')
  2. Utenfor for-løkken lukker du Python-skriptet.
    sys.exit()

Koden i det hele tatt:

# Hoved, start av programmet
hvis __navn__ == "__main__":
mens sant:
filePath = input('Vennligst skriv inn banen til mappen der excel-filene er lagret: ')
os.chdir (filbane)
excelFiles = os.listdir('.')

# For hver excel-fil
for i innen rekkevidde (0, len (excelFiles)):

wb = openpyxl.load_workbook (excelFiles[i])
ark = wb.aktiv

# Utfør alle nødvendige Excel-funksjoner som vist ovenfor her

# Lagre og lukk arbeidsboken
wb.save (excelFiles[i])
print (excelFiles[i] + ' fullført.')

# Når koden er ferdig, lukk programmet.
sys.exit()

Hvordan kjøre Python-skriptet

  1. Åpne ledeteksten. Naviger til der du lagret skriptet. Hvis du lagret skriptet ditt på skrivebordet, vil kommandoen se omtrent slik ut:
    cd C:\Users\Sharl\Desktop
  2. Skriv inn følgende for å kjøre skriptet:
    python dataAnalysisScript.py
  3. Skriptet vil starte med å be deg gå inn i mappen som lagrer alle Excel-filene dine. For eksempel, hvis du har lagret denne mappen på skrivebordet, vil filbanen være:
    C:\Users\Sharl\Desktop\CountryData
  4. Åpne en av Excel-filene i mappen for å se endringene som er gjort.

Sørg for at ingen av Excel-filene er åpne når du kjører skriptet.

Automatisere mer med Python

Nå har du det grunnleggende om hvordan du utfører Excel-funksjoner i et Python-skript. Du kan nå lære hvordan du utfører mange flere Excel-funksjoner, samt mange andre måter å automatisere Excel-filer på. Dette inkluderer bruk av et bibliotek som Pandas for å importere data, eller til og med bruk av Visual Basic for å utføre repeterende oppgaver i Excel.

Hvordan lage et automatisk dataregistreringsskjema i Excel VBA

Les Neste

DelekvitringDeleE-post

Relaterte temaer

  • Programmering
  • Programmering
  • Python
  • Microsoft Excel
  • Regneark

Om forfatteren

Sharlene Von Drehnen (4 artikler publisert)

Sharlene er teknisk skribent ved MUO og jobber også fulltid innen programvareutvikling. Hun har en bachelor i IT og har tidligere erfaring innen kvalitetssikring og universitetsveiledning. Sharlene elsker å spille og spille piano.

Mer fra Sharlene Von Drehnen

Abonner på vårt nyhetsbrev

Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis e-bøker og eksklusive tilbud!

Klikk her for å abonnere