Python

Exceli arvutustabelite manipuleerimine Pythoni abil

Exceli arvutustabelite manipuleerimine Pythoni abil

Microsoft Excel on arvutustabeli tarkvara, mida kasutatakse tabeliandmete salvestamiseks ja haldamiseks. Lisaks saab Exceli abil arvutusi teha valemite abil andmetele ja luua andmete visualiseeringuid.Paljusid arvutustabelites täidetavaid ülesandeid, näiteks matemaatilisi toiminguid, saab programmeerimise abil automatiseerida ja paljudes programmeerimiskeeltes on moodulid Exceli arvutustabelitega manipuleerimiseks. Selles õpetuses näitame teile, kuidas kasutada Pythoni openpyxl moodulit Exceli arvutustabelite lugemiseks ja muutmiseks.

Openpyxli installimine

Enne openpyxli installimist peate installima pipi. Pippi kasutatakse Pythoni pakettide installimiseks. Käivitage järgmine käsk käsureal, et näha, kas pip on installitud.

C: \ Users \ windows> pip abi

Kui pipi abisisu tagastatakse, installitakse pip; vastasel juhul minge järgmisele lingile ja laadige alla get-pip.py-fail:

https: // bootstrap.püpa.io / get-pip.py

Nüüd käivitage pipi installimiseks järgmine käsk:

C: \ Users \ windows> python get-pip.py

Pärast pipi installimist saab openpyxli installimiseks kasutada järgmist käsku.

C: \ Users \ windows> pip install openpyxl

Exceli dokumendi loomine

Selles jaotises kasutame Exceli dokumendi loomiseks moodulit openpyxl. Esmalt avage käsuviip, tippides otsinguribale 'cmd'; siis sisestage

C: \ Users \ windows> python

Exceli töövihiku loomiseks impordime openpyxl mooduli ja kasutame seejärel töövihiku loomiseks meetodit 'Workbook ()'.

>>> # openpyxl mooduli importimine
>>> importige openpyxl
>>> # Töövihiku initsialiseerimine
>>> töövihik = openpyxl.Töövihik ()
>>> # töövihiku salvestamine näitena.xlsx '
>>> töövihik.salvesta ('näide.xlsx ')

Ülaltoodud käsud loovad Exceli dokumendi, mida nimetatakse näiteks.xlsx. Järgmisena manipuleerime selle Exceli dokumendiga.

Lehtede manipuleerimine Exceli dokumendis

Oleme loonud Exceli dokumendi nimega näide.xlsx. Nüüd manipuleerime selle dokumendi lehtedega Pythoni abil. Openpyxl moodulil on meetod 'create_sheet ()', mida saab kasutada uue lehe loomiseks. Sellel meetodil on kaks argumenti: indeks ja pealkiri. Indeks määrab lehe paigutuse mis tahes mittenegatiivse täisarvu (sh 0) abil ja pealkiri on lehe pealkiri. Tööraamatu objekti kõigi lehtede loendit saab kuvada lehenimede loendisse helistades.

>>> # openpyxli importimine
>>> impordi openpyxl
>>> # olemasoleva Exceli dokumendi laadimine töövihiku objekti
>>> töövihik = openpyxl.load_workbook ('näide.xlsx ')
>>> # Uue lehe loomine 0. indeksis
>>> töövihik.create_sheet (register = 0, pealkiri = 'Esimene leht')

>>> # Kõikide lehtede hankimine
>>> töövihik.lehenimed
['Esimene leht', 'Leht']
>>> # Exceli dokumendi salvestamine
>>> töövihik.salvesta ('näide.xlsx ')

Ülaltoodud koodis lõime lehe nimega Esimene leht ja paigutasime selle 0-sse indeksisse. Varem 0. indeksis asunud leht teisaldati 1. indeksisse, nagu on näidatud väljundis. Nüüd muudame algse lehe nime lehelt teisele lehele.

Atribuut Pealkiri hoiab lehe nime. Lehe ümbernimetamiseks peame kõigepealt sellele lehele navigeerima järgmiselt.

>>> # Aktiivse lehe hankimine Exceli dokumendist
>>> leht = töövihik.aktiivne
>>> # Trükilehe nimi
>>> print (leht.pealkiri)
Esimene leht >>> # Teisele lehele navigeerimine (indeksil 1)
>>> töövihik.aktiivne = 1
>>> # Aktiivse lehe saamine
>>> leht = töövihik.aktiivne
>>> # lehe nime printimine
>>> print (leht.pealkiri)
Leht >>> # Lehe pealkirja muutmine
>>> leht.pealkiri = 'Teine leht'
>>> # Trükilehe pealkiri
>>> print (leht.pealkiri)
Teine leht

Samamoodi võime Exceli dokumendist lehe eemaldada. Moodul openpyxl pakub lehe eemaldamiseks meetodit remove (). See meetod võtab argumendina lehe nime eemaldamise ja seejärel eemaldab selle lehe. Teise lehe saame eemaldada järgmiselt:

>>> # lehe eemaldamine nime järgi
>>> töövihik.eemalda (töövihik ['teine ​​leht'])
>>> # kõigi lehtede hankimine
>>> töövihik.lehenimed
["Esimene leht"]
>>> # Exceli dokumendi salvestamine
>>> töövihik.salvesta ('näide.xlsx ')

Andmete lisamine lahtritesse

Siiani oleme teile näidanud, kuidas Exceli dokumendis lehti luua või kustutada. Nüüd lisame andmed erinevate lehtede lahtritesse. Selles näites on meie dokumendis üks leht nimega Esimene leht ja soovime luua veel kaks lehte.

>>> # openpyxli importimine
>>> importige openpyxl
>>> # töövihiku laadimine
>>> töövihik = openpyxl.load_workbook ('näide.xlsx ')
>>> # Uue lehe loomine 1. indeksis
>>> töövihik.create_sheet (register = 1, pealkiri = 'Teine leht')

>>> # uue lehe loomine 2. indeksis
>>> töövihik.create_sheet (register = 2, pealkiri = 'Kolmas leht')

>>> # kõigi lehtede hankimine
>>> töövihik.lehenimed
["Esimene leht", "Teine leht", "kolmas leht"]

Nüüd on meil kolm lehte ja lisame andmed nende lehtede lahtritesse.

>>> # Esimese lehe saamine
>>> leht_1 = töövihik ['esimene leht']
>>> # Andmete lisamine esimese lehe lahtrisse A1
>>> sheet_1 ['A1'] = 'nimi'
>>> # teise lehe saamine
>>> sheet_2 = töövihik ['teine ​​leht']
>>> # Andmete lisamine teise lehe lahtrisse A1
>>> sheet_2 ['A1'] = 'ID'
>>> # Kolmanda lehe saamine
>>> sheet_3 = töövihik ['kolmas leht']
>>> # Andmete lisamine kolmanda lehe lahtrisse A1
>>> sheet_3 ['A1'] = 'Hinne'
>>> # Exceli töövihiku salvestamine
>>> töövihik.salvesta ('näide.xlsx ')

Exceli lehtede lugemine

Moodul openpyxl kasutab selle lahtri andmete salvestamiseks lahtri atribuuti. Lahtris olevaid andmeid saame lugeda, helistades lahtri atribuudile. Nüüd on meil kolm lehte ja igas lehes on mõned andmed. Andmeid saame lugeda järgmiste funktsioonide abil openpyxlis:

>>> # openpyxli importimine
>>> impordi openpyxl
>>> # töövihiku laadimine
>>> töövihik = openpyxl.load_workbook ('näide.xlsx ')
>>> # Esimese lehe saamine
>>> leht_1 = töövihik ['esimene leht']
>>> # teise lehe saamine
>>> leht_2 = töövihik ['teine ​​leht']
>>> # Kolmanda lehe saamine
>>> sheet_3 = töövihik ['kolmas leht']
>>> # andmete printimine esimese lehe lahtrist A1
>>> print (leht_1 ['A1'].väärtus)
Nimi
>>> # andmete trükkimine teise lehe lahtrist A1
>>> print (leht_2 ['A1'].väärtus)
ID
>>> # andmete printimine kolmanda lehe lahtrist A1
>>> print (leht_3 ['A1'].väärtus)
Hinne

Fondide ja värvide muutmine

Järgmisena näitame teile, kuidas muuta lahtri fonti funktsiooni Font () abil. Esmalt importige openpyxl.stiilide objekt. Meetod Font () võtab argumentide loendi, sealhulgas:

  • nimi (string): fondi nimi
  • suurus (int või ujuk): fondi suurus
  • alla joon (string): allajoonimise tüüp
  • värv (string): teksti kuueteistkümnendsüsteem
  • kursiiv (bool): kas font on kursiivis
  • paks (bool): kas font on rasvases kirjas

Stiilide rakendamiseks peame kõigepealt looma objekti, edastades kõik parameetrid meetodile Font (). Seejärel valime lehe ja lehe sees lahtri, millele soovime stiili rakendada. Seejärel rakendame valitud lahtrile stiili.

>>> # openpyxli importimine
>>> impordi openpyxl
>>> # fondimeetodi importimine openpyxlist.stiilid
>>> alates openpyxl.stiilid importivad fondi
>>> # töövihiku laadimine
>>> töövihik = openpyxl.load_workbook ('näide.xlsx ')
>>> # Stiilobjekti loomine
>>> style = Font (nimi = 'Consolas', suurus = 13, paks = True,
… Kursiiv = vale)
>>> # Töölehe lehe valimine
>>> leht_1 = töövihik ['esimene leht']
>>> # Lahtri valimine, kuhu soovime stiilid lisada
>>> a1 = leht_1 ['A1']
>>> # Stiilide rakendamine lahtrisse
>>> a1.font = stiil
>>> # Töövihiku salvestamine
>>> töövihik.salvesta ('näide.xlsx ')

Piiride rakendamine rakkudele

Saame rakendada Exceli lehe lahtritele piire, kasutades openpyxli meetodeid Border () ja Side ().stiilid.piirimoodul. Border () meetodile saame parameetritena anda erinevaid funktsioone. Järgnevalt on toodud mõned funktsioonid, mis edastatakse parameetritena meetodile Border () piiri mõõtmete määratlemiseks.

  • vasakule: rakendage lahtri vasakule küljele ääris
  • eks: rakendage lahtri paremale küljele ääris
  • üles: rakendage lahtri ülaosale ääris
  • põhjas: rakendage lahtri põhja ääris

Need funktsioonid võtavad parameetritena stiiliatribuudid. Atribuut stiil määrab piiri stiili (nt.g., tahke, katkendlik). Stiiliparameetritel võib olla üks järgmistest väärtustest.

  • topelt: kaherealine piir
  • katkendlik: katkendlik piir
  • õhuke: õhuke piir
  • keskmine: keskmine piir
  • mediumDashDot: katkendlik ja punktiirjoon keskmise kaaluga
  • paks: paks piir
  • dashDot: katkendlik ja punktiirjoon
  • juuksed: väga õhuke ääris
  • punktiir: punktiirjoon

Nüüd rakendame oma arvutustabelite erinevatele lahtritele erinevat tüüpi piire. Kõigepealt valime lahtrid ja seejärel määrame piiristiilid ja rakendame neid lahtreid.

>>> # openpyxli importimine
>>> impordi openpyxl
>>> # piiri- ja külgklasside importimine
>>> alates openpyxl.stiilid.piiride import Border, Side
>>> # töövihiku laadimine
>>> töövihik = openpyxl.load_workbook ('näide.xlsx ')
>>> # Lehe valimine
>>> leht_1 = töövihik ['esimene leht']
>>> # Erinevate lahtrite valimine lehelt
>>> lahter_1 = leht_1 ['A1']
>>> lahter_2 = leht_1 ['B2']
>>> lahter_3 = leht_1 ['C3']
>>> # Erinevate äärisstiilide määratlemine
>>> style_1 = Border (alt = külg (style = 'punktiir'))
>>> style_2 = Ääris (paremal = Külg (stiil = 'õhuke'))
>>> style_3 = Ääris (ülemine = Külg (stiil = 'dashDot'))
>>> # rakendatakse lahtritele ääristiile
>>> lahter_1.piir = stiil_1
>>> lahter_2.ääris = stiil_2
>>> lahter_3.ääris = stiil_3
>>> # Töövihiku salvestamine
>>> töövihik.salvesta ('näide.xlsx ')

Rea ja veeru mõõtmete reguleerimine

Exceli dokumendi rea kõrgust ja veeru laiust saab reguleerida ka Pythoni abil. Openpyxl moodulil on kaks sisseehitatud meetodit, mida saab nende toimingute tegemiseks kasutada. Kõigepealt valime lehe, mille veeru laiust või rea kõrgust muuta soovime. Seejärel rakendame meetodit konkreetsele reale või veerule.

>>> # openpyxli importimine
>>> impordi openpyxl
>>> # töövihiku laadimine
>>> töövihik = openpyxl.load_workbook ('näide.xlsx ')
>>> # lehe valimine
>>> leht_1 = töövihik ['esimene leht']
>>> # esimese rea kõrguse muutmine
>>> leht_1.rea_mõõdud [1].kõrgus = 50
>>> # Töövihiku salvestamine
>>> töövihik.salvesta ('näide.xlsx ')

Samamoodi võime veeru laiust muuta järgmise koodi abil

>>> # lehe valimine Exceli töövihikust
>>> sheet_2 = töövihik ['teine ​​leht']
>>> # veeru laiuse muutmine
>>> leht_2.veeru_mõõdud ['A'].laius = 50
>>> # Töövihiku salvestamine
>>> töövihik.salvesta ('näide.xlsx ')

Ülaltoodud kood muudab esimese rea kõrguse 50 punktiks ja veeru A laiuseks 50 punkti.

Rakkude ühendamine ja katkemine

Exceli arvutustabelitega töötades peame sageli lahtrid ühendama ja lahti ühendama. Lahtrite ühendamiseks Pythonis saab kasutada lihtsat openpyxl-il põhinevat funktsiooni. Moodul openpyxl pakub meetodit merge_cells (), mida saab kasutada Exceli lahtrite ühendamiseks. Uus lahter saab vasaku ülemise lahtri nime. Näiteks kui soovime lahtrid lahtrist A1 lahtrisse B2 ühendada, siis vastloodud lahtrit nimetatakse A1-ks. Lahtrite ühendamiseks openpyxl abil valime kõigepealt lehe ja seejärel rakendame lehele meetodit merge_cells ().

>>> # openpyxl mooduli importimine
>>> impordi openpyxl
>>> # töövihiku laadimine
>>> töövihik = openpyxl.load_workbook ('näide.xlsx ')
>>> # Exceli töövihikust esimese lehe valimine
>>> leht_1 = töövihik ['esimene leht']
>>> # lahtrite A1 kuni B2 ühendamine 1. lehel
>>> leht_1.merge_cells ('A1: B2')
>>> # töövihiku salvestamine
>>> töövihik.salvesta ('näide.xlsx ')

Samamoodi saab Exceli arvutustabeli lahtrite ühendamiseks kasutada meetodit unmerge_cells (). Lahtrite ühendamiseks saab kasutada järgmist koodi:

>>> # töövihikust lehe valimine
>>> leht_1 = töövihik ['esimene leht']
>>> # lahutamata lahtrit A1-st B2-ni
>>> leht_1.unmerge_cells ('A1: B2')
>>> # töövihiku salvestamine
>>> töövihik.salvesta ('näide.xlsx ')

Järeldus

Andmete manipuleerimiseks kasutatakse tavaliselt Exceli tabeleid. Sellised ülesanded võivad aga olla monotoonsed. Seetõttu saab sellistel juhtudel arvutustabelitega manipuleerimise automatiseerimiseks kasutada programmeerimist.

Selles artiklis käsitlesime Pythoni openpyxl mooduli mõningaid kasulikke funktsioone. Näitasime teile, kuidas Exceli arvutustabeleid luua, lugeda, eemaldada ja muuta, kuidas stiili muuta, rakendada fonti, piire ja lahtrite mõõtmeid ning kuidas lahtrid ühendada ja ühendada. Neid funktsioone rakendades saate Pythoni abil automatiseerida paljusid arvutustabeli manipuleerimise ülesandeid.

Kuidas FPS-i suurendada Linuxis?
FPS tähistab Kaadrit sekundis. FPS-i ülesanne on mõõta kaadrisagedust video taasesitamisel või mängude esitamisel. Lihtsamalt öeldes nimetatakse iga s...
Parimad Oculus App Lab mängud
Kui olete Oculuse peakomplekti omanik, peate olema teadlik külglaadimisest. Kõrvalaadimine on protsess, millega installitakse peakomplekti mitte-poesi...
10 parimat mängu, mida Ubuntu kaudu mängida
Windowsi platvorm on olnud üks mängude domineerivaid platvorme, kuna tohutu protsent mänge areneb täna Windowsi loomupäraseks toetamiseks. Kas keegi s...