Python

Manipulēšana ar Excel izklājlapām, izmantojot Python

Manipulēšana ar Excel izklājlapām, izmantojot Python

Microsoft Excel ir izklājlapu programmatūra, ko izmanto tabulas datu glabāšanai un pārvaldībai. Turklāt, izmantojot programmu Excel, aprēķinus var veikt, datiem piemērojot formulas, un var izveidot datu vizualizācijas.Daudzus izklājlapās veiktos uzdevumus, piemēram, matemātiskās darbības, var automatizēt, izmantojot programmēšanu, un daudzās programmēšanas valodās ir moduļi, lai manipulētu ar Excel izklājlapām. Šajā apmācībā mēs parādīsim, kā izmantot Python openpyxl moduli, lai lasītu un modificētu Excel izklājlapas.

Openpyxl instalēšana

Pirms jūs varat instalēt openpyxl, jums jāinstalē pip. Pip tiek izmantots Python pakotņu instalēšanai. Komandu uzvednē palaidiet šo komandu, lai redzētu, vai ir instalēts pip.

C: \ Users \ windows> pip palīdzība

Ja tiek atgriezts pip palīdzības palīgs, tiek uzstādīts pip; pretējā gadījumā dodieties uz šo saiti un lejupielādējiet get-pip.py fails:

https: // bootstrap.pypa.io / get-pip.py

Tagad, lai instalētu pip, palaidiet šādu komandu:

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

Pēc pip instalēšanas openpyxl instalēšanai var izmantot šādu komandu.

C: \ Users \ windows> pip instalējiet openpyxl

Excel dokumenta izveide

Šajā sadaļā mēs izmantosim openpyxl moduli, lai izveidotu Excel dokumentu. Vispirms atveriet komandu uzvedni, meklēšanas joslā ierakstot “cmd”; pēc tam ievadiet

C: \ Users \ windows> python

Lai izveidotu Excel darbgrāmatu, importēsim openpyxl moduli un pēc tam izmantosim metodi Workbook (), lai izveidotu darbgrāmatu.

>>> # importē openpyxl moduli
>>> importēt openpyxl
>>> # Darbgrāmatas inicializēšana
>>> darbgrāmata = openpyxl.Darba burtnīca()
>>> # darbgrāmatas saglabāšana kā piemērs.xlsx '
>>> darbgrāmata.saglabāt ('piemērs.xlsx ')

Iepriekš minētās komandas izveido Excel dokumentu, ko sauc par piemēru.xlsx. Tālāk mēs manipulēsim ar šo Excel dokumentu.

Manipulēšana ar lapām Excel dokumentā

Mēs esam izveidojuši Excel dokumentu, ko sauc par piemēru.xlsx. Tagad mēs manipulēsim ar šī dokumenta lapām, izmantojot Python. Openpyxl modulim ir metode 'create_sheet ()', kuru var izmantot, lai izveidotu jaunu lapu. Šai metodei nepieciešami divi argumenti: indekss un nosaukums. Indekss nosaka lapas izvietojumu, izmantojot jebkuru nenegatīvu veselu skaitli (ieskaitot 0), un nosaukums ir lapas nosaukums. Visu darbgrāmatas objektā esošo lapu sarakstu var parādīt, izsaucot lapu nosaukumu sarakstu.

>>> # importē openpyxl
>>> importēt openpyxl
>>> # esošā Excel dokumenta ielāde darbgrāmatas objektā
>>> darbgrāmata = openpyxl.load_workbook ('piemērs.xlsx ')
>>> # Jaunas lapas izveidošana 0. indeksā
>>> darbgrāmata.create_sheet (indekss = 0, nosaukums = 'Pirmā lapa')

>>> # Iegūstiet visas lapas
>>> darbgrāmata.lokšņu nosaukumi
['Pirmā lapa', 'Lapa']
>>> # Excel dokumenta saglabāšana
>>> darbgrāmata.saglabāt ('piemērs.xlsx ')

Iepriekš minētajā kodā mēs izveidojām lapu ar nosaukumu Pirmā lapa un ievietojām to 0. indeksā. Lapa, kas iepriekš atradās 0. indeksā, tika pārvietota uz 1. indeksu, kā parādīts izvadē. Tagad mēs mainīsim sākotnējās lapas nosaukumu no lapas uz otro lapu.

Nosaukuma atribūts satur lapas nosaukumu. Lai pārdēvētu lapu, vispirms jāpārvietojas uz šo lapu šādi.

>>> # Aktīvās lapas iegūšana no Excel dokumenta
>>> lapa = darbgrāmata.aktīvs
>>> # Drukas lapas nosaukums
>>> druka (lapa.nosaukums)
Pirmā lapa >>> # Pāriet uz otro lapu (1. indeksā)
>>> darbgrāmata.aktīvs = 1
>>> # Aktīvās lapas iegūšana
>>> lapa = darbgrāmata.aktīvs
>>> # drukas lapas nosaukums
>>> druka (lapa.nosaukums)
Lapa >>> # Lappuses nosaukuma maiņa
>>> lapa.title = 'Otrā lapa'
>>> # Drukas lapas nosaukums
>>> druka (lapa.nosaukums)
Otrā lapa

Līdzīgi mēs varam noņemt lapu no Excel dokumenta. Openpyxl modulis piedāvā noņemšanas () metodi lapas noņemšanai. Izmantojot šo metodi, lapas arguments tiek noņemts kā arguments un pēc tam šī lapa tiek noņemta. Otro lapu mēs varam noņemt šādi:

>>> # lapas noņemšana pēc nosaukuma
>>> darbgrāmata.noņemt (darbgrāmata ['otrā lapa'])
>>> # visu lapu iegūšana
>>> darbgrāmata.lokšņu nosaukumi
['Pirmā lapa']
>>> # Excel dokumenta saglabāšana
>>> darbgrāmata.saglabāt ('piemērs.xlsx ')

Datu pievienošana šūnām

Līdz šim mēs esam parādījuši, kā izveidot vai izdzēst lapas Excel dokumentā. Tagad mēs pievienosim datus dažādu lapu šūnām. Šajā piemērā mūsu dokumentā ir viena lapa ar nosaukumu Pirmā lapa, un mēs vēlamies izveidot vēl divas lapas.

>>> # importē openpyxl
>>> importēt openpyxl
>>> # darbgrāmatas ielāde
>>> darbgrāmata = openpyxl.load_workbook ('piemērs.xlsx ')
>>> # Jaunas lapas izveide 1. indeksā
>>> darbgrāmata.create_sheet (indekss = 1, nosaukums = 'Otrā lapa')

>>> # izveidojot jaunu lapu 2. indeksā
>>> darbgrāmata.create_sheet (indekss = 2, nosaukums = 'Trešā lapa')

>>> # visu lapu iegūšana
>>> darbgrāmata.lokšņu nosaukumi
['Pirmā lapa', 'Otrā lapa', 'Trešā lapa']

Tagad mums ir trīs lapas, un mēs pievienosim datus šo lapu šūnām.

>>> # Pirmās lapas iegūšana
>>> lapa_1 = darbgrāmata ['pirmā lapa']
>>> # Datu pievienošana pirmās lapas šūnai A1
>>> sheet_1 ['A1'] = 'Nosaukums'
>>> # Otrās lapas iegūšana
>>> lapa_2 = darbgrāmata ['otrā lapa']
>>> # Datu pievienošana otrās lapas šūnai A1
>>> lapa_2 ['A1'] = 'ID'
>>> # Trešās lapas iegūšana
>>> sheet_3 = darbgrāmata ['Trešā lapa']
>>> # Datu pievienošana trešās lapas šūnai A1
>>> sheet_3 ['A1'] = 'Novērtējumi'
>>> # Excel darbgrāmatas saglabāšana
>>> darbgrāmata.saglabāt ('piemērs.xlsx ')

Lasīt Excel lapas

Openpyxl modulis izmanto šūnas vērtības atribūtu, lai saglabātu šīs šūnas datus. Datus šūnā varam nolasīt, izsaucot šūnas vērtības atribūtu. Tagad mums ir trīs lapas, un katrā lapā ir daži dati. Datus mēs varam nolasīt, izmantojot openpyxl šādas funkcijas:

>>> # importē openpyxl
>>> importēt openpyxl
>>> # darbgrāmatas ielāde
>>> darbgrāmata = openpyxl.load_workbook ('piemērs.xlsx ')
>>> # Pirmās lapas iegūšana
>>> lapa_1 = darbgrāmata ['pirmā lapa']
>>> # Otrās lapas iegūšana
>>> lapa_2 = darbgrāmata ['otrā lapa']
>>> # Trešās lapas iegūšana
>>> sheet_3 = darbgrāmata ['Trešā lapa']
>>> # datu drukāšana no pirmās lapas šūnas A1
>>> drukāt (lapa_1 ['A1'].vērtība)
Nosaukums
>>> # datu drukāšana no otrās lapas šūnas A1
>>> drukāt (lapa_2 ['A1'].vērtība)
ID
>>> # datu drukāšana no trešās lapas šūnas A1
>>> drukāt (lapa_3 ['A1'].vērtība)
Pakāpes

Fontu un krāsu maiņa

Tālāk mēs parādīsim, kā mainīt šūnas fontu, izmantojot funkciju Font (). Vispirms importējiet openpyxl.stili objekts. Metode Font () aizņem argumentu sarakstu, tostarp:

  • nosaukums (virkne): fonta nosaukums
  • lielums (int vai pludiņš): fonta lielums
  • pasvītrot (virkne): pasvītrojuma veids
  • krāsa (virkne): teksta heksadecimālā krāsa
  • kursīvs (bool): vai fonts ir kursīvā
  • treknrakstā (bool): vai fonts ir treknrakstā

Lai lietotu stilus, mums vispirms jāizveido objekts, visus parametrus nododot Font () metodei. Pēc tam mēs atlasām lapu un lapas iekšpusē mēs izvēlamies šūnu, kurai mēs vēlamies piemērot stilu. Pēc tam atlasītajai šūnai tiek piemērots stils.

>>> # importē openpyxl
>>> importēt openpyxl
>>> # fontu metodes importēšana no openpyxl.stili
>>> no openpyxl.stili importē fontu
>>> # darbgrāmatas ielāde
>>> darbgrāmata = openpyxl.load_workbook ('piemērs.xlsx ')
>>> # Stila objekta izveide
>>> style = Font (nosaukums = 'Consolas', izmērs = 13, treknrakstā = True,
... kursīvs = nepatiesa)
>>> # Lapas atlase no darbgrāmatas
>>> lapa_1 = darbgrāmata ['pirmā lapa']
>>> # Atlasot šūnu, kurai vēlamies pievienot stilus
>>> a1 = lapa_1 ['A1']
>>> # Stilu lietošana šūnā
>>> a1.font = style
>>> # Darbgrāmatas saglabāšana
>>> darbgrāmata.saglabāt ('piemērs.xlsx ')

Robežu piemērošana šūnām

Mēs varam pielietot robežas šūnām Excel lapā, izmantojot openpyxl metodes Border () un Side ().stili.robežu modulis. Border () metodei mēs varam nodot dažādas funkcijas kā parametrus. Tālāk ir norādītas dažas funkcijas, kuras kā parametri tiek nodotas metodei Border (), lai definētu robežas izmērus.

  • pa kreisi: pielieciet apmali šūnas kreisajā pusē
  • pa labi: uzlikt robežu šūnas labajā pusē
  • tops: uzlikt robežu uz šūnas augšdaļu
  • apakšā: uzlikt apmali šūnas apakšā

Šīs funkcijas stila atribūtus izmanto kā parametrus. Stila atribūts nosaka apmales stilu (piemēram,.g., ciets, svītrots). Stila parametriem var būt kāda no šīm vērtībām.

  • dubultā: dubultlīnijas robeža
  • svītrots: punktēta robeža
  • tievs: plāna apmale
  • vidēja: vidēja robeža
  • mediumDashDot: pārtraukta un punktēta vidēja svara robeža
  • bieza: bieza apmale
  • dashDot: punktēta un punktēta apmale
  • matiem: ļoti plāna apmale
  • punktots: punktota apmale

Tagad mēs izmantosim dažāda veida apmales dažādām mūsu izklājlapu šūnām. Pirmkārt, mēs atlasām šūnas un pēc tam definējam apmales stilus un pielietojam šos stilus dažādām šūnām.

>>> # importē openpyxl
>>> importēt openpyxl
>>> # importē apmales un sānu klases
>>> no openpyxl.stili.robežas imports Border, Side
>>> # darbgrāmatas ielāde
>>> darbgrāmata = openpyxl.load_workbook ('piemērs.xlsx ')
>>> # Lapas atlase
>>> lapa_1 = darbgrāmata ['pirmā lapa']
>>> # Dažādu šūnu atlase no lapas
>>> šūna_1 = lapa_1 ['A1']
>>> šūna_2 = lapa_1 ['B2']
>>> šūna_3 = lapa_1 ['C3']
>>> # Dažādu apmales stilu noteikšana
>>> style_1 = Border (apakšā = Side (style = 'punktēts'))
>>> style_2 = Border (pa labi = Side (style = 'slim'))
>>> style_3 = Border (augšā = Side (style = 'dashDot'))
>>> # apmales stilu lietošana šūnās
>>> šūna_1.apmale = stils_1
>>> šūna_2.apmale = stils_2
>>> šūna_3.apmale = stils_3
>>> # Darbgrāmatas saglabāšana
>>> darbgrāmata.saglabāt ('piemērs.xlsx ')

Rindu un kolonnu izmēru pielāgošana

Excel dokumenta rindas augstumu un kolonnas platumu var pielāgot arī, izmantojot Python. Openpyxl modulī ir divas iebūvētas metodes, kuras var izmantot šo darbību veikšanai. Pirmkārt, mēs izvēlamies lapu, kurai mēs vēlamies mainīt kolonnas platumu vai rindas augstumu. Pēc tam mēs lietojam metodi konkrētajai rindai vai kolonnai.

>>> # importē openpyxl
>>> importēt openpyxl
>>> # darbgrāmatas ielāde
>>> darbgrāmata = openpyxl.load_workbook ('piemērs.xlsx ')
>>> # atlases lapa
>>> lapa_1 = darbgrāmata ['pirmā lapa']
>>> # pirmās rindas augstuma maiņa
>>> lapa_1.rindas_dimensijas [1].augstums = 50
>>> # Darbgrāmatas saglabāšana
>>> darbgrāmata.saglabāt ('piemērs.xlsx ')

Līdzīgi mēs varam mainīt kolonnas platumu, izmantojot šādu kodu

>>> # lapas atlasīšana no Excel darbgrāmatas
>>> lapa_2 = darbgrāmata ['otrā lapa']
>>> # mainot kolonnas platumu
>>> lapa_2.kolonnas_dimensijas ['A'].platums = 50
>>> # Darbgrāmatas saglabāšana
>>> darbgrāmata.saglabāt ('piemērs.xlsx ')

Iepriekš minētais kods mainīs pirmās rindas augstumu līdz 50 punktiem un A kolonnas platumu līdz 50 punktiem.

Šūnu sapludināšana un apvienošana

Strādājot ar Excel izklājlapām, mums bieži ir jāapvieno un jāatvieno šūnas. Lai apvienotu šūnas Python, var izmantot vienkāršu funkciju, kuras pamatā ir openpyxl. Openpyxl modulis piedāvā metodi merge_cells (), kuru var izmantot šūnu apvienošanai programmā Excel. Jaunā šūna iegūs augšējās kreisās šūnas nosaukumu. Piemēram, ja mēs vēlamies apvienot šūnas no šūnas A1 līdz šūnai B2, tad jaunizveidotā šūna tiks dēvēta par A1. Lai apvienotu šūnas, izmantojot openpyxl, vispirms mēs atlasām lapu un pēc tam lapai izmantojam metodi merge_cells ().

>>> # importē openpyxl moduli
>>> importēt openpyxl
>>> # darbgrāmatas ielāde
>>> darbgrāmata = openpyxl.load_workbook ('piemērs.xlsx ')
>>> # atlasot pirmo lapu no Excel darbgrāmatas
>>> lapa_1 = darbgrāmata ['pirmā lapa']
>>> # šūnu apvienošana no A1 līdz B2 1. lapā
>>> lapa_1.sapludināmās šūnas ('A1: B2')
>>> # darbgrāmatas saglabāšana
>>> darbgrāmata.saglabāt ('piemērs.xlsx ')

Līdzīgi metodi unmerge_cells () var izmantot, lai atdalītu šūnas Excel izklājlapā. Šūnu apvienošanai var izmantot šādu kodu:

>>> # lapas atlasīšana no darbgrāmatas
>>> lapa_1 = darbgrāmata ['pirmā lapa']
>>> # neatvienotas šūnas no A1 līdz B2
>>> lapa_1.unmerge_cells ('A1: B2')
>>> # darbgrāmatas saglabāšana
>>> darbgrāmata.saglabāt ('piemērs.xlsx ')

Secinājums

Datu manipulēšanai parasti tiek izmantotas Excel izklājlapas. Tomēr šādi uzdevumi var būt vienmuļi. Tādēļ šādos gadījumos programmēšanu var izmantot, lai automatizētu manipulācijas ar izklājlapām.

Šajā rakstā mēs apspriedām dažas Python openpyxl moduļa noderīgās funkcijas. Mēs parādījām, kā izveidot, lasīt, noņemt un modificēt Excel izklājlapas, kā mainīt stilu, pielietot šūnu fontu, apmales un izmērus, kā arī apvienot un atvienot šūnas. Izmantojot šīs funkcijas, jūs varat automatizēt daudzus izklājlapu manipulācijas uzdevumus, izmantojot Python.

Kā parādīt FPS skaitītāju Linux spēlēs
Linux spēles ieguva lielu impulsu, kad Valve 2012. gadā paziņoja par Linux atbalstu Steam klientam un viņu spēlēm. Kopš tā laika daudzas AAA un indie ...
Kā lejupielādēt un atskaņot Sid Meier Civilization VI operētājsistēmā Linux
Ievads spēlē Civilization 6 ir mūsdienīga klasiskā koncepcija, kas ieviesta Age of Empires spēļu sērijā. Ideja bija diezgan vienkārša; jūs sāktu pašā ...
Kā instalēt un spēlēt Doom uz Linux
Ievads liktenī Doom sērija radās 90. gados pēc sākotnējā Doom izlaišanas. Tas bija tūlītējs hīts, un kopš tā laika spēļu sērija ir saņēmusi daudzas ba...