Excel-spreadsheets kunnen krachtig zijn, maar voor sommige taken is meer programmeerkracht nodig. Voer Python en de Openpyxl-module in.

Openpyxl biedt functies waarmee u kunt werken met een Excel-bestand uit Python. U kunt het gebruiken om gegevens te verwerken, nieuwe spreadsheets te maken en zelfs formules te manipuleren.

De bibliotheek is handig als u dezelfde repetitieve berekeningen over veel Excel-bestanden wilt automatiseren. Dit kan het geval zijn als u te maken heeft met big data of data-analyse moet uitvoeren.

Hoe de Openpyxl-module te installeren

Installeer eerst Openpyxl op uw computer met deze stappen:

  1. Open een opdrachtprompt en voer het volgende uit:
    pip installeer openpyxl
  2. Als het bovenstaande niet werkt, kunt u de module downloaden van Openpyxl's Download Files-pagina:
    1. Download het bestand openpyxl-version.tar.gz.
    2. Pak de inhoud van het bestand uit.
    3. Open een opdrachtprompt. Navigeer naar de map met de uitgepakte bestanden en voer de volgende opdracht uit:
      py setup.py installeren
instagram viewer

Maak uw Excel-bestanden en testgegevens

Maak veel Excel-bestanden en voeg er wat testgegevens aan toe. Als Excel nieuw voor u is, zijn er veel hulpmiddelen die u kunnen helpen het te leren.

  1. Maak meerdere Excel-bestanden in dezelfde map. In dit scenario zijn er vijf Excel-bestanden. Elk bestand slaat bevolkingsgegevens op voor drie verschillende landen.
  2. Voeg in elk Excel-bestand enkele testgegevens toe. Bijvoorbeeld:

Dit voorbeeld bevat gegevens over de bevolking van veel landen.

Hoe het Python-script te maken

Maak het Python-script als volgt:

  1. Maak een nieuw bestand met de naam dataAnalysisScript.py. Open het met een goede teksteditor, zoals Visual Studio Code of Atom.
  2. Voeg de volgende drie importen toe bovenaan het bestand. "os" en "sys" hebben betrekking op het openen van bestanden op uw computer of het sluiten van het programma. "openpyxl" is de module die in de vorige stap is gedownload en waarmee u Excel-bestanden kunt lezen en schrijven.
    importeer openpyxl
    importeer os
    import systeem
  3. Voeg onder de imports de basisstructuur van het Python-script hieronder toe. Houd er rekening mee dat de codestructuur in Python afhankelijk is van de juiste inspringing.
    # Main, start van het programma
    if __name__ == "__main__":
    terwijl waar:
    # Schrijf hier code
    # Wanneer de code is voltooid, sluit u het programma.
    sys.exit()
  4. Voeg in de while-lus een prompt voor de gebruiker toe om het pad in te voeren naar de map die de Excel-bestanden bevat.
    if __name__ == "__main__":
    terwijl waar:
    # Vraagt ​​de gebruiker om het bestandspad van het Excel-bestand in te voeren.
    filePath = input('Voer het pad in van de map waar de Excel-bestanden zijn opgeslagen: ')
    # Gaat in die map.
    os.chdir (bestandspad)
    # Haalt de lijst met Excel-bestanden op in de map.
    excelFiles = os.listdir('.')

Gegevens uit de Excel-bestanden lezen en schrijven

Gebruik een for-lus om elk van de Excel-bestanden te openen, lezen, manipuleren en sluiten.

  1. Voeg een for-lus toe voor elk Excel-bestand. Open elk bestand in de lus.
    # Voor elk Excel-bestand
    voor i binnen bereik (0, len (excelFiles)):
    # Dit gebruikt de openpyxl-module om het Excel-bestand te openen.
    wb = openpyxl.load_workbook (excelFiles[i])
    blad = wb.actief
  2. De volgende code leest een specifieke waarde uit een bepaalde cel:
    cellValue = blad[f'B3'].waarde
  3. De volgende code schrijft gegevens naar de cel "A10":
    laken[f'A10'].waarde = 56
    U kunt ook naar de cel schrijven door het rij- en kolomnummer op te geven. De volgende code voegt het nummer "2" toe aan cel "F1".
    blad.cel (rij=1, kolom=6).waarde = 2

Ingebouwde Excel-functies uitvoeren met behulp van het Python-script

Bereken voor elk Excel-bestand de som, het gemiddelde en de standaarddeviatie voor elke kolom 'land'. De volgende code berekent de som van alle getallen voor elk land:

blad[f'B11'].value = '=SUM(B4:B9)' 
blad[f'C11'].value = '=SUM(C4:C9)'
blad[f'D11'].value = '=SOM(D4:D9)'
  • '=SUM(B4:B9)' is de Excel-berekening die alle getallen in de B-kolom tussen de cellen B4 en B9 optelt.
  • blad[f'B11'].waarde is de waarde in cel B11. Het programma zal het eindresultaat in deze cel opslaan.

U kunt ook de gemiddelde en standaarddeviatie Excel-functies berekenen op dezelfde manier als hierboven weergegeven.

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

Hoe naar het bestand te schrijven en de werkmap te sluiten

De resterende code bewaart en sluit elke werkmap en sluit vervolgens het programma.

  1. Sla in de for-lus, na het uitvoeren van de vereiste Excel-functies, de wijzigingen op die in het Excel-bestand zijn aangebracht.
    wb.save (excelFiles[i])
    print (excelFiles[i] + ' voltooid.')
  2. Sluit het Python-script buiten de for-lus.
    sys.exit()

De code helemaal:

# Main, start van het programma
if __name__ == "__main__":
terwijl waar:
filePath = input('Voer het pad in van de map waar de Excel-bestanden zijn opgeslagen: ')
os.chdir (bestandspad)
excelFiles = os.listdir('.')

# Voor elk Excel-bestand
voor i binnen bereik (0, len (excelFiles)):

wb = openpyxl.load_workbook (excelFiles[i])
blad = wb.actief

# Voer alle vereiste Excel-functies uit zoals hierboven weergegeven

# Bewaar en sluit de werkmap
wb.save (excelFiles[i])
print (excelFiles[i] + ' voltooid.')

# Wanneer de code is voltooid, sluit u het programma.
sys.exit()

Hoe het Python-script uit te voeren

  1. Open de opdrachtprompt. Navigeer naar waar je je script hebt opgeslagen. Als u uw script op het bureaublad hebt opgeslagen, ziet de opdracht er ongeveer zo uit:
    cd C:\Gebruikers\Sharl\Desktop
  2. Voer het volgende in om het script uit te voeren:
    python dataAnalysisScript.py
  3. Het script begint door u te vragen de map in te voeren waarin al uw Excel-bestanden zijn opgeslagen. Als u deze map bijvoorbeeld op het bureaublad heeft opgeslagen, zou het bestandspad zijn:
    C:\Users\Sharl\Desktop\CountryData
  4. Open een van de Excel-bestanden in de map om de aangebrachte wijzigingen te bekijken.

Zorg ervoor dat geen van de Excel-bestanden is geopend wanneer u het script uitvoert.

Meer automatiseren met Python

Nu heb je de basis voor het uitvoeren van Excel-functies in een Python-script. U kunt nu leren hoe u veel meer Excel-functies kunt uitvoeren, evenals vele andere manieren om Excel-bestanden te automatiseren. Dit omvat het gebruik van een bibliotheek zoals Panda's om gegevens te importeren, of zelfs het gebruik van Visual Basic om repetitieve taken in Excel uit te voeren.

Een geautomatiseerd gegevensinvoerformulier maken in Excel VBA

Lees volgende

DelenTweetenDelenE-mail

Gerelateerde onderwerpen

  • Programmeren
  • Programmeren
  • Python
  • Microsoft Excel
  • Spreadsheet

Over de auteur

Sharlene von Drehnen (4 artikelen gepubliceerd)

Sharlene is een Tech Writer bij MUO en werkt ook fulltime in Software Development. Ze heeft een Bachelor of IT en heeft eerdere ervaring in kwaliteitszorg en universitaire bijles. Sharlene houdt van gamen en piano spelen.

Meer van Sharlene Von Drehnen

Abonneer op onze nieuwsbrief

Word lid van onze nieuwsbrief voor technische tips, recensies, gratis e-boeken en exclusieve deals!

Klik hier om je te abonneren