Piton

Az Excel-táblázatok manipulálása Python használatával

Az Excel-táblázatok manipulálása Python használatával

A Microsoft Excel egy táblázatos szoftver, amelyet táblázatos adatok tárolására és kezelésére használnak. Ezenkívül az Excel segítségével képletek alkalmazásával számítások hajthatók végre, és adat-vizualizációk készíthetők.Számos táblázatban végrehajtott feladat, például matematikai műveletek, automatizálhatók programozással, és sok programozási nyelv rendelkezik modulokkal az Excel táblázatok kezelésére. Ebben az oktatóanyagban megmutatjuk, hogyan kell használni a Python openpyxl modulját az Excel táblázatok olvasásához és módosításához.

Az openpyxl telepítése

Az openpyxl telepítése előtt telepítenie kell a pip-et. A Pip a Python csomagok telepítésére szolgál. Futtassa a következő parancsot a parancssorban, és ellenőrizze, hogy a pip telepítve van-e.

C: \ Felhasználók \ windows> pip súgó

Ha visszaadja a pip súgó tartalmát, akkor a pip telepítésre kerül; különben nyissa meg a következő linket, és töltse le a get-pip fájlt.py fájl:

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

Most futtassa a következő parancsot a pip telepítéséhez:

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

A pip telepítése után a következő paranccsal telepíthető az openpyxl.

C: \ Users \ windows> pip install openpyxl

Excel-dokumentum létrehozása

Ebben a szakaszban az openpyxl modult használjuk egy Excel dokumentum létrehozására. Először nyissa meg a parancssort a 'cmd' beírásával a keresősávba; majd írja be

C: \ Users \ windows> python

Excel-munkafüzet létrehozásához importáljuk az openpyxl modult, majd a 'Workbook ()' módszerrel létrehozunk egy munkafüzetet.

>>> # openpyxl modul importálása
>>> openpyxl importálása
>>> # Munkafüzet inicializálása
>>> work_book = openpyxl.Munkafüzet()
>>> # munkafüzet mentése 'példaként.xlsx '
>>> munkafüzet.save ('példa.xlsx ')

A fenti parancsok létrehoznak egy példa nevű Excel dokumentumot.xlsx. Ezután manipuláljuk ezt az Excel dokumentumot.

Táblázatok kezelése egy Excel dokumentumban

Létrehoztunk egy példa nevű Excel dokumentumot.xlsx. Most ennek a dokumentumnak a lapjait fogjuk manipulálni a Python használatával. Az openpyxl modul rendelkezik egy 'create_sheet ()' módszerrel, amellyel új lapot lehet létrehozni. Ehhez a módszerhez két argumentum szükséges: index és cím. Az Index meghatározza a lap elhelyezését bármilyen nem negatív egész szám felhasználásával (beleértve a 0-t is), a cím pedig a lap címe. A work_book objektum összes lapjának listája megjeleníthető a sheetnames lista meghívásával.

>>> # openpyxl importálása
>>> openpyxl importálása
>>> # meglévő Excel dokumentum betöltése a munkafüzetobjektumba
>>> munkafüzet = openpyxl.load_workbook ('példa.xlsx ')
>>> # Új lap létrehozása a 0. indexen
>>> munkafüzet.create_sheet (index = 0, cím = 'Első lap')

>>> # Az összes lap beszerzése
>>> munkafüzet.lapnevek
['Első lap', 'Lap']
>>> # Excel dokumentum mentése
>>> munkafüzet.save ('példa.xlsx ')

A fenti kódban létrehoztunk egy Első lap nevű lapot, és a 0. indexbe helyeztük. A korábban a 0. indexnél elhelyezett lap az első indexbe került, amint azt a kimenet mutatja. Most megváltoztatjuk az eredeti lap nevét Lapról Második Lapra.

A title attribútum a lap nevét tartalmazza. Egy lap átnevezéséhez először a következőképpen kell navigálnunk ahhoz a laphoz.

>>> # Aktív lap letöltése az Excel dokumentumból
>>> lap = munkafüzet.aktív
>>> # A nyomtatási lap neve
>>> nyomtatás (lap.cím)
Első lap >>> # Navigálás a második lapra (az 1. indexnél)
>>> munkafüzet.aktív = 1
>>> # Aktív lap megszerzése
>>> lap = munkafüzet.aktív
>>> # nyomtatási lap neve
>>> nyomtatás (lap.cím)
Lap >>> # A lap címének módosítása
>>> lap.title = 'Második lap'
>>> # A lap nyomtatási címe
>>> nyomtatás (lap.cím)
Második lap

Hasonlóképpen eltávolíthatunk egy lapot az Excel dokumentumból. Az openpyxl modul az eltávolító () metódust kínálja egy lap eltávolításához. Ez a módszer a lap nevét veszi el argumentumként, majd eltávolítja azt. A második lapot a következőképpen távolíthatjuk el:

>>> # névtelen lap eltávolítása
>>> munkafüzet.eltávolítás (munkafüzet ['Második lap'])
>>> # az összes lap megszerzése
>>> munkafüzet.lapnevek
['Első lap']
>>> # Excel dokumentum mentése
>>> munkafüzet.save ('példa.xlsx ')

Adatok hozzáadása a sejtekhez

Eddig megmutattuk, hogyan hozhat létre vagy törölhet lapokat egy Excel-dokumentumban. Most adatokat fogunk hozzáadni a különböző lapok celláihoz. Ebben a példában egyetlen lapunk van Első lap néven, és további két lapot szeretnénk létrehozni.

>>> # openpyxl importálása
>>> openpyxl importálása
>>> # munkafüzet betöltése
>>> munkafüzet = openpyxl.load_workbook ('példa.xlsx ')
>>> # Új lap létrehozása az 1. indexnél
>>> munkafüzet.create_sheet (index = 1, cím = 'Második lap')

>>> # új lap létrehozása a 2. indexen
>>> munkafüzet.create_sheet (index = 2, cím = 'Harmadik lap')

>>> # az összes lap megszerzése
>>> munkafüzet.lapnevek
['Első lap', 'Második lap', 'Harmadik lap']

Most három lapunk van, és adatokat fogunk adni a lapok celláihoz.

>>> # Első lap megszerzése
>>> sheet_1 = munkafüzet ['Első lap']
>>> # Adatok hozzáadása az első lap „A1” cellájához
>>> sheet_1 ['A1'] = 'Név'
>>> # Második lap megszerzése
>>> sheet_2 = munkafüzet ['Második lap']
>>> # Adatok hozzáadása a második lap „A1” cellájához
>>> sheet_2 ['A1'] = 'ID'
>>> # Harmadik lap megszerzése
>>> sheet_3 = munkafüzet ['harmadik lap']
>>> # Adatok hozzáadása a harmadik lap „A1” cellájához
>>> sheet_3 ['A1'] = 'Minőség'
>>> # Excel munkafüzet mentése
>>> munkafüzet.save ('példa.xlsx ')

Excel lapok olvasása

Az openpyxl modul egy cella értékattribútumát használja az adott cella adatainak tárolására. A cellában lévő adatokat a cella értékattribútumának meghívásával olvashatjuk el. Most három lapunk van, és mindegyik lap tartalmaz néhány adatot. Az adatokat az openpyxl következő funkcióinak használatával olvashatjuk el:

>>> # openpyxl importálása
>>> openpyxl importálása
>>> # munkafüzet betöltése
>>> munkafüzet = openpyxl.load_workbook ('példa.xlsx ')
>>> # Első lap megszerzése
>>> sheet_1 = munkafüzet ['Első lap']
>>> # Második lap megszerzése
>>> sheet_2 = munkafüzet ['Második lap']
>>> # Harmadik lap megszerzése
>>> sheet_3 = munkafüzet ['harmadik lap']
>>> # adatok nyomtatása az első lap 'A1' cellájából
>>> nyomtatás (munkalap_1 ['A1'].érték)
Név
>>> # adatok nyomtatása a második lap 'A1' cellájából
>>> nyomtatás (lap_2 ['A1'].érték)
ID
>>> # adatok nyomtatása a harmadik lap 'A1' cellájából
>>> nyomtatás (lap_3 ['A1'].érték)
Évfolyamok

Betűtípusok és színek megváltoztatása

Ezután bemutatjuk, hogyan lehet megváltoztatni egy cella betűtípusát a Font () függvény használatával. Először importálja az openpyxl fájlt.stílusok objektum. A Font () metódus argumentumlistát vesz fel, beleértve:

  • név (karakterlánc): a betűtípus neve
  • méret (int vagy float): a betűméret
  • aláhúzás (karakterlánc): az aláhúzás típusa
  • szín (karakterlánc): a szöveg hexadecimális színe
  • dőlt (bool): a betűtípus dőlt betűs-e
  • félkövér (bool): hogy a betűtípus félkövér-e

A stílusok alkalmazásához először létre kell hoznunk egy objektumot, az összes paraméter átadásával a Font () metódusra. Ezután kiválasztjuk a lapot, és a lap belsejében kiválasztjuk azt a cellát, amelyre a stílust szeretnénk alkalmazni. Ezután alkalmazzuk a stílust a kijelölt cellára.

>>> # openpyxl importálása
>>> openpyxl importálása
>>> # Font metódus importálása az openpyxl-ből.stílusok
>>> az openpyxl-ből.stílusok importálják a betűtípust
>>> # munkafüzet betöltése
>>> munkafüzet = openpyxl.load_workbook ('példa.xlsx ')
>>> # Stílusobjektum létrehozása
>>> style = Betűtípus (név = 'Consolas', méret = 13, félkövér = True,
… Dőlt = hamis)
>>> # Lap kiválasztása a munkafüzetből
>>> lap_1 = munkafüzet ['Első lap']
>>> # A cellák kiválasztása, amelyekhez stílusokat akarunk hozzáadni
>>> a1 = lap_1 ['A1']
>>> # Stílusok alkalmazása a cellára
>>> a1.font = stílus
>>> # Munkafüzet mentése
>>> munkafüzet.save ('példa.xlsx ')

Határok alkalmazása a sejtekre

Szegélyeket alkalmazhatunk az Excel lap celláira az openpyxl Border () és Side () metódusai segítségével.stílusok.határok modul. Különböző függvényeket adhatunk át paraméterként a Border () metódushoz. Az alábbiakban bemutatunk néhány olyan funkciót, amelyeket paraméterként adunk át a Border () metódusnak a határ méreteinek meghatározásához.

  • bal: alkalmazzon szegélyt a cella bal oldalán
  • jobb: alkalmazzon szegélyt a cella jobb oldalán
  • tetejére: alkalmazzon szegélyt a cella tetejére
  • alsó: alkalmazzon szegélyt a cella aljára

Ezek a függvények a stílusattribútumokat veszik paraméterként. A stílus attribútum határozza meg a szegély stílusát (pl.g., szilárd, szaggatott). A stílusparaméterek a következő értékek bármelyikével rendelkezhetnek.

  • kettős: kétsoros határ
  • szaggatott: szaggatott határ
  • vékony: vékony szegély
  • közepes: közepes határ
  • mediumDashDot: szaggatott és szaggatott, közepes súlyú szegély
  • vastag: vastag határ
  • dashDot: szaggatott és szaggatott szegély
  • haj: nagyon vékony szegély
  • pontozott: pontozott szegély

Most különböző típusú határokat alkalmazunk a táblázataink különböző celláira. Először kijelöljük a cellákat, majd meghatározzuk a szegélystílusokat, és ezeket a stílusokat alkalmazzuk a különböző cellákra.

>>> # openpyxl importálása
>>> openpyxl importálása
>>> # Border és Side osztályok importálása
>>> az openpyxl-ből.stílusok.határok import Border, Side
>>> # munkafüzet betöltése
>>> work_book = openpyxl.load_workbook ('példa.xlsx ')
>>> # Lap kiválasztása
>>> sheet_1 = munkafüzet ['Első lap']
>>> # Különböző cellák kiválasztása a munkalapból
>>> cell_1 = munkalap_1 ['A1']
>>> cell_2 = munkalap_1 ['B2']
>>> cella_3 = lap_1 ['C3']
>>> # Különböző szegélystílusok meghatározása
>>> style_1 = Border (alsó = Side (style = 'pontozott'))
>>> style_2 = Border (jobb = Side (style = 'vékony'))
>>> style_3 = Border (felső = Side (style = 'dashDot'))
>>> # szegélystílusok alkalmazása a cellákra
>>> cell_1.határ = stílus_1
>>> cella_2.határ = stílus_2
>>> cell_3.határ = stílus_3
>>> # Munkafüzet mentése
>>> munkafüzet.save ('példa.xlsx ')

Sor- és oszlopméretek beállítása

Az Excel-dokumentumok sormagassága és oszlopszélessége a Python segítségével is beállítható. Az openpyxl modul két beépített módszerrel rendelkezik, amelyek felhasználhatók ezeknek a műveleteknek a végrehajtására. Először kiválasztjuk azt a lapot, amelynek az oszlopszélességét vagy a magasságát meg akarjuk változtatni. Ezután alkalmazunk egy módszert az adott sorra vagy oszlopra.

>>> # openpyxl importálása
>>> openpyxl importálása
>>> # munkafüzet betöltése
>>> munkafüzet = openpyxl.load_workbook ('példa.xlsx ')
>>> # lap kiválasztása
>>> lap_1 = munkafüzet ['Első lap']
>>> # az első sor magasságának megváltoztatása
>>> lap_1.sor_méretek [1].magasság = 50
>>> # Munkafüzet mentése
>>> munkafüzet.save ('példa.xlsx ')

Hasonlóképpen megváltoztathatjuk az oszlop szélességét a következő kód használatával

>>> # lap kiválasztása az excel munkafüzetből
>>> sheet_2 = munkafüzet ['Második lap']
>>> # az oszlop szélességének megváltoztatása
>>> lap_2.oszlop_méretek ['A'].szélesség = 50
>>> # Munkafüzet mentése
>>> munkafüzet.save ('példa.xlsx ')

A fenti kód megváltoztatja az első sor magasságát 50 pontra, az A oszlop szélességét pedig 50 pontra.

Sejtek egyesülése és feloldása

Amikor az Excel táblázatokkal dolgozunk, gyakran össze kell egyesítenünk és feloldanunk a cellákat. A Python celláinak egyesítéséhez az openpyxl alapú egyszerű függvény használható. Az openpyxl modul a merge_cells () metódust kínálja, amellyel cellákat egyesíthet az Excel-ben. Az új cella felveszi a bal felső cella nevét. Például, ha össze akarjuk egyesíteni a cellákat az A1 cellából a B2 cellába, akkor az újonnan létrehozott cellára A1 néven hivatkozunk. A cellák egyesítéséhez az openpyxl használatával először kiválasztjuk a lapot, majd a merge_cells () metódust alkalmazzuk a munkalapra.

>>> # openpyxl modul importálása
>>> openpyxl importálása
>>> # munkafüzet betöltése
>>> work_book = openpyxl.load_workbook ('példa.xlsx ')
>>> # az első munkalap kiválasztása az excel munkafüzetből
>>> sheet_1 = munkafüzet ['Első lap']
>>> # cellák egyesítése A1-től B2-ig az 1. munkalapon
>>> lap_1.merge_cells ('A1: B2')
>>> # munkafüzet mentése
>>> munkafüzet.save ('példa.xlsx ')

Hasonlóképpen, az unmerge_cells () metódus használható az Excel-táblázat celláinak feloldására. A következő kód használható a cellák egyesítéséhez:

>>> # lap kiválasztása a munkafüzetből
>>> sheet_1 = munkafüzet ['Első lap']
>>> # el nem merülő cella A1-től B2-ig
>>> lap_1.unmerge_cells ('A1: B2')
>>> # munkafüzet mentése
>>> munkafüzet.save ('példa.xlsx ')

Következtetés

Az Excel-táblázatokat általában adatkezelésre használják. Az ilyen feladatok azonban monotonak lehetnek. Ezért ilyen esetekben programozással automatizálható a táblázatkezelés.

Ebben a cikkben megvitattuk a Python openpyxl moduljának néhány hasznos funkcióját. Megmutattuk, hogyan hozhat létre, olvashat, távolíthat el és módosíthat Excel táblázatokat, hogyan módosíthatja a stílust, hogyan alkalmazhatja a cellák betűtípusát, szegélyeit és méreteit, valamint hogyan egyesítheti és egyesítheti a cellákat. Ezeknek a függvényeknek az alkalmazásával számos táblázatkezelési feladatot automatizálhat a Python használatával.

Microsoft Sculpt Touch vezeték nélküli egér áttekintés
Nemrég olvastam a Microsoft Sculpt Touch vezeték nélküli egér és úgy döntött, hogy megveszi. Egy ideig használat után úgy döntöttem, hogy megosztom ve...
AppyMouse képernyős Trackpad és egérmutató a Windows táblagépekhez
A táblagép-felhasználók gyakran hiányolják az egérmutatót, különösen akkor, ha szokták használni a laptopokat. Az érintőképernyős okostelefonok és táb...
Az egér középső gombja nem működik a Windows 10 rendszerben
A középső egérgomb segít átgörgetni a hosszú weboldalakat és a sok adatot tartalmazó képernyőket. Ha ez leáll, akkor a billentyűzet segítségével görge...