Krajta

Manipulace s tabulkami aplikace Excel pomocí Pythonu

Manipulace s tabulkami aplikace Excel pomocí Pythonu

Microsoft Excel je tabulkový software, který se používá k ukládání a správě tabulkových dat. S Excelem lze dále provádět výpočty pomocí vzorců na data a lze vytvářet vizualizace dat.Mnoho úkolů prováděných v tabulkách, například matematické operace, lze automatizovat pomocí programování a mnoho programovacích jazyků má moduly pro manipulaci s tabulkami aplikace Excel. V tomto tutoriálu vám ukážeme, jak používat Pythonův modul openpyxl ke čtení a úpravám excelových tabulek.

Instalace openpyxl

Před instalací openpyxl musíte nainstalovat pip. Pip se používá k instalaci balíčků Pythonu. Spusťte následující příkaz na příkazovém řádku a zkontrolujte, zda je pip nainstalován.

C: \ Users \ windows> pip help

Pokud je vrácen obsah nápovědy pip, je pip nainstalován; v opačném případě přejděte na následující odkaz a stáhněte si get-pip.py soubor:

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

Nyní spusťte následující příkaz k instalaci pip:

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

Po instalaci pipu lze použít následující příkaz k instalaci openpyxl.

C: \ Users \ windows> pip install openpyxl

Vytvoření dokumentu aplikace Excel

V této části použijeme modul openpyxl k vytvoření dokumentu aplikace Excel. Nejprve otevřete příkazový řádek zadáním „cmd“ do vyhledávacího pole; poté zadejte

C: \ Users \ windows> python

Chcete-li vytvořit sešit aplikace Excel, naimportujeme modul openpyxl a poté k vytvoření sešitu použijeme metodu 'Workbook ()'.

>>> # import modulu openpyxl
>>> import openpyxl
>>> # Inicializace sešitu
>>> work_book = openpyxl.Pracovní sešit()
>>> # uložení sešitu jako příklad.xlsx '
>>> sešit.uložit ('příklad.xlsx ')

Výše uvedené příkazy vytvářejí dokument aplikace Excel s názvem příklad.xlsx. Dále budeme manipulovat s tímto dokumentem aplikace Excel.

Manipulace s listy v dokumentu Excel

Vytvořili jsme dokument aplikace Excel s názvem příklad.xlsx. Nyní budeme manipulovat s listy tohoto dokumentu pomocí Pythonu. Modul openpyxl má metodu 'create_sheet ()', kterou lze použít k vytvoření nového listu. Tato metoda má dva argumenty: index a název. Index definuje umístění listu pomocí libovolného nezáporného celého čísla (včetně 0) a název je název listu. Seznam všech listů v objektu sešitu lze zobrazit voláním seznamu názvů listů.

>>> # import openpyxl
>>> import openpyxl
>>> # načítání existujícího dokumentu Excel do objektu work_book
>>> work_book = openpyxl.load_workbook ('příklad.xlsx ')
>>> # Vytvoření nového listu na 0. indexu
>>> sešit.create_sheet (index = 0, title = 'První list')

>>> # Získání všech listů
>>> sešit.názvy listů
['První list', 'List']
>>> # Uložení dokumentu aplikace Excel
>>> sešit.uložit ('příklad.xlsx ')

Ve výše uvedeném kódu jsme vytvořili list s názvem První list a umístili jsme jej na 0. index. List dříve umístěný na 0. indexu byl přesunut do 1. indexu, jak je znázorněno na výstupu. Nyní změníme název původního listu z listu na druhý list.

Atribut title obsahuje název listu. Chcete-li přejmenovat list, musíme nejprve přejít na tento list následujícím způsobem.

>>> # Získání aktivního listu z dokumentu aplikace Excel
>>> sheet = work_book.aktivní
>>> # Název tiskového listu
>>> tisk (list.titul)
První list >>> # Přechod na druhý list (v indexu 1)
>>> sešit.aktivní = 1
>>> # Získání aktivního listu
>>> sheet = work_book.aktivní
>>> # tisk listu Název
>>> tisk (list.titul)
List >>> # Změna názvu listu
>>> list.title = 'Druhý list'
>>> # Název tiskového listu
>>> tisk (list.titul)
Druhý list

Podobně můžeme odebrat list z dokumentu aplikace Excel. Modul openpyxl nabízí metodu remove () pro odstranění listu. Tato metoda přebírá název listu, který má být odebrán, jako argument a poté tento list odebere. Druhý list můžeme odebrat následujícím způsobem:

>>> # odebrání listu podle jména
>>> sešit.remove (work_book ['Second Sheet'])
>>> # získání všech listů
>>> sešit.názvy listů
['První list']
>>> # ukládání dokumentu aplikace Excel
>>> sešit.uložit ('příklad.xlsx ')

Přidávání dat do buněk

Zatím jsme vám ukázali, jak vytvořit nebo odstranit listy v dokumentu aplikace Excel. Nyní přidáme data do buněk různých listů. V tomto příkladu máme v dokumentu jeden list s názvem První list a chceme vytvořit další dva listy.

>>> # import openpyxl
>>> import openpyxl
>>> # načítání sešitu
>>> work_book = openpyxl.load_workbook ('příklad.xlsx ')
>>> # Vytvoření nového listu na 1. indexu
>>> sešit.create_sheet (index = 1, title = 'Druhý list')

>>> # vytvoření nového listu na 2. indexu
>>> sešit.create_sheet (index = 2, title = 'Třetí list')

>>> # získání všech listů
>>> sešit.názvy listů
['První list', 'Druhý list', 'Třetí list']

Nyní máme tři listy a do buněk těchto listů přidáme data.

>>> # Získání prvního listu
>>> sheet_1 = work_book ['First Sheet']
>>> # Přidání dat do buňky „A1“ prvního listu
>>> sheet_1 ['A1'] = 'Jméno'
>>> # Získání druhého listu
>>> sheet_2 = work_book ['Second Sheet']
>>> # Přidání dat do buňky „A1“ druhého listu
>>> sheet_2 ['A1'] = 'ID'
>>> # Získání třetího listu
>>> sheet_3 = work_book ['Third Sheet']
>>> # Přidání dat do buňky „A1“ třetího listu
>>> sheet_3 ['A1'] = 'Hodnocení'
>>> # Ukládání sešitu aplikace Excel
>>> sešit.uložit ('příklad.xlsx ')

Čtení listů aplikace Excel

Modul openpyxl používá k ukládání dat této buňky atribut hodnoty buňky. Můžeme číst data v buňce voláním atributu hodnoty buňky. Nyní máme tři listy a každý list obsahuje některá data. Data můžeme číst pomocí následujících funkcí v openpyxl:

>>> # import openpyxl
>>> import openpyxl
>>> # načítání sešitu
>>> work_book = openpyxl.load_workbook ('příklad.xlsx ')
>>> # Získání prvního listu
>>> sheet_1 = work_book ['First Sheet']
>>> # Získání druhého listu
>>> sheet_2 = work_book ['Second Sheet']
>>> # Získání třetího listu
>>> sheet_3 = work_book ['Third Sheet']
>>> # tisk dat z buňky 'A1' prvního listu
>>> tisk (list_1 ['A1']).hodnota)
název
>>> # tisk dat z buňky „A1“ druhého listu
>>> tisk (list_2 ['A1']).hodnota)
ID
>>> # tisk dat z buňky „A1“ třetího listu
>>> tisk (sheet_3 ['A1']).hodnota)
Známky

Změna písma a barev

Dále vám ukážeme, jak změnit písmo buňky pomocí funkce Font (). Nejprve importujte openpyxl.objekt stylů. Metoda Font () přebírá seznam argumentů, včetně:

  • jméno (řetězec): název písma
  • velikost (int nebo float): velikost písma
  • podtržení (řetězec): typ podtržení
  • barva (řetězec): hexadecimální barva textu
  • kurzíva (bool): zda je písmo kurzívou
  • tučně (bool): zda je písmo tučně

Chcete-li použít styly, musíme nejprve vytvořit objekt předáním všech parametrů metodě Font (). Poté vybereme list a uvnitř listu vybereme buňku, na kterou chceme styl použít. Poté použijeme styl na vybranou buňku.

>>> # import openpyxl
>>> import openpyxl
>>> # import metody písma z openpyxl.styly
>>> z openpyxl.styly import písma
>>> # načítání sešitu
>>> work_book = openpyxl.load_workbook ('příklad.xlsx ')
>>> # Vytváření objektu stylu
>>> style = Font (name = 'Consolas', size = 13, bold = True,
… Italic = False)
>>> # Výběr listu ze sešitu
>>> sheet_1 = work_book ['First Sheet']
>>> # Výběr buňky, do které chceme přidat styly
>>> a1 = sheet_1 ['A1']
>>> # Aplikování stylů na buňku
>>> a1.font = styl
>>> # Ukládání sešitu
>>> sešit.uložit ('příklad.xlsx ')

Aplikování hranic na buňky

Můžeme aplikovat ohraničení na buňky v listu aplikace Excel pomocí metod Border () a Side () openpyxl.styly.modul ohraničení. Můžeme předat různé funkce jako parametry metodě Border (). Následuje několik funkcí, které jsou předány jako parametry metodě Border () k definování rozměrů ohraničení.

  • vlevo, odjet: použít ohraničení na levé straně buňky
  • že jo: aplikovat ohraničení na pravou stranu buňky
  • horní: použití ohraničení na horní část buňky
  • dno: použití ohraničení na spodní část buňky

Tyto funkce berou atributy stylu jako parametry. Atribut style definuje styl ohraničení (např.G., plná, přerušovaná). Parametry stylu mohou mít kteroukoli z následujících hodnot.

  • dvojnásobek: dvojité ohraničení čáry
  • přerušovaný: přerušovaný okraj
  • tenký: tenký okraj
  • střední: střední hranice
  • mediumDashDot: přerušovaný a tečkovaný okraj střední hmotnosti
  • tlustý: silný okraj
  • dashDot: přerušovaný a tečkovaný okraj
  • vlasy: velmi tenký okraj
  • tečkovaný: tečkovaný okraj

Nyní použijeme různé typy ohraničení na různé buňky našich tabulek. Nejprve vybereme buňky a poté definujeme styly ohraničení a použijeme tyto styly na různé buňky.

>>> # import openpyxl
>>> import openpyxl
>>> # import hraničních a bočních tříd
>>> z openpyxl.styly.border import Border, Side
>>> # načítání sešitu
>>> work_book = openpyxl.load_workbook ('příklad.xlsx ')
>>> # Výběr listu
>>> sheet_1 = work_book ['First Sheet']
>>> # Výběr různých buněk z listu
>>> cell_1 = sheet_1 ['A1']
>>> cell_2 = sheet_1 ['B2']
>>> cell_3 = sheet_1 ['C3']
>>> # Definování různých stylů ohraničení
>>> style_1 = Border (bottom = Side (style = 'dotted')))
>>> style_2 = Border (right = Side (style = 'thin')))
>>> style_3 = Border (top = Side (style = 'dashDot'))
>>> # použití stylů ohraničení na buňky
>>> cell_1.border = style_1
>>> cell_2.border = style_2
>>> cell_3.border = style_3
>>> # Ukládání sešitu
>>> sešit.uložit ('příklad.xlsx ')

Úprava rozměrů řádků a sloupců

Výšku řádku a šířku sloupce dokumentu aplikace Excel lze také upravit pomocí Pythonu. Modul openpyxl má dvě vestavěné metody, které lze použít k provedení těchto akcí. Nejprve vybereme list, jehož šířku nebo výšku řádku chceme změnit. Poté použijeme metodu na konkrétní řádek nebo sloupec.

>>> # import openpyxl
>>> import openpyxl
>>> # načítání sešitu
>>> work_book = openpyxl.load_workbook ('příklad.xlsx ')
>>> # výběr listu
>>> sheet_1 = work_book ['First Sheet']
>>> # změna výšky prvního řádku
>>> sheet_1.row_dimensions [1].výška = 50
>>> # Ukládání sešitu
>>> sešit.uložit ('příklad.xlsx ')

Podobně můžeme změnit šířku sloupce pomocí následujícího kódu

>>> # výběr listu ze sešitu aplikace Excel
>>> sheet_2 = work_book ['Second Sheet']
>>> # změna šířky sloupce
>>> list_2.column_dimensions ['A'].šířka = 50
>>> # Ukládání sešitu
>>> sešit.uložit ('příklad.xlsx ')

Výše uvedený kód změní výšku prvního řádku na 50 bodů a šířku sloupce A na 50 bodů.

Sloučení a sloučení buněk

Při práci s tabulkami aplikace Excel často potřebujeme sloučit a sloučit buňky. Ke sloučení buněk v Pythonu lze použít jednoduchou funkci založenou na openpyxl. Modul openpyxl nabízí metodu merge_cells (), kterou lze použít ke sloučení buněk v aplikaci Excel. Nová buňka přebírá název buňky vlevo nahoře. Například pokud chceme sloučit buňky z buňky A1 do buňky B2, bude nově vytvořená buňka označována jako A1. Chcete-li sloučit buňky pomocí openpyxl, nejprve vybereme list a poté na list použijeme metodu merge_cells ().

>>> # import modulu openpyxl
>>> import openpyxl
>>> # načítání sešitu
>>> work_book = openpyxl.load_workbook ('příklad.xlsx ')
>>> # výběr prvního listu ze sešitu aplikace Excel
>>> sheet_1 = work_book ['First Sheet']
>>> # sloučení buněk z A1 do B2 v listu 1
>>> sheet_1.merge_cells ('A1: B2')
>>> # ukládání sešitu
>>> sešit.uložit ('příklad.xlsx ')

Podobně lze metodu unmerge_cells () použít k sloučení buněk v tabulce aplikace Excel. K rozdělení buněk lze použít následující kód:

>>> # výběr listu ze sešitu
>>> sheet_1 = work_book ['First Sheet']
>>> # oddělování buněk od A1 do B2
>>> sheet_1.unmerge_cells ('A1: B2')
>>> # uložení sešitu
>>> sešit.uložit ('příklad.xlsx ')

Závěr

Pro manipulaci s daty se běžně používají tabulky aplikace Excel. Tyto úkoly však mohou být monotónní. Proto v takových případech lze programování použít k automatizaci manipulace s tabulkami.

V tomto článku jsme diskutovali o některých užitečných funkcích pythonského modulu openpyxl. Ukázali jsme vám, jak vytvářet, číst, odstraňovat a upravovat tabulky aplikace Excel, jak měnit styl, používat písmo, ohraničení a rozměry buněk a jak sloučit a sloučit buňky. Použitím těchto funkcí můžete automatizovat mnoho úloh manipulace s tabulkami pomocí Pythonu.

Hry Výukový program Shadow of the Tomb Raider pro Linux
Výukový program Shadow of the Tomb Raider pro Linux
Shadow of the Tomb Raider je dvanáctý přírůstek do série Tomb Raider - série akčních adventur vytvořená Eidosem Montrealem. Tato hra byla docela dobře...
Hry Jak zvýšit FPS v Linuxu?
Jak zvýšit FPS v Linuxu?
FPS znamená Snímků za sekundu. Úkolem FPS je měřit snímkovou frekvenci při přehrávání videa nebo herních výkonech. Jednoduše řečeno, počet nepřerušova...
Hry Nejlepší hry Oculus App Lab
Nejlepší hry Oculus App Lab
Pokud jste vlastníkem náhlavní soupravy Oculus, musíte mít informace o bočním nakládání. Sideloading je proces instalace neukládaného obsahu do náhlav...