Vytvořte kontingenční tabulku v Excelu pomocí Pythonu

Kontingenční tabulky v excelových tabulkách se používají k interaktivnímu shrnutí dat. Předpokládejme, že máte údaje o řadě faktur a chcete získat jejich celkový počet seskupený podle zákazníků nebo produktů. V takových případech vstupují do hry kontingenční tabulky. V tomto článku se dozvíte, jak zacházet s kontingenčními tabulkami v Excelu v Pythonu. Zejména se dozvíte, jak vytvořit kontingenční tabulku v Excelu v Pythonu. Dále si ukážeme, jak programově formátovat buňky v kontingenčních tabulkách Excelu.

Knihovna Python pro vytváření kontingenční tabulky v Excelu – bezplatné stažení

Aspose.Cells for Python je vysokorychlostní knihovna, která je navržena pro vytváření a zpracování souborů aplikace Excel. Tuto knihovnu použijeme k vytváření kontingenčních tabulek v excelových tabulkách.

Můžete si stáhnout jeho balíček nebo jej nainstalovat z PyPI pomocí následujícího příkazu pip.

pip install aspose-cells

Vytvořte kontingenční tabulku v Excelu v Pythonu

Následují kroky k vytvoření kontingenční tabulky v Excelu pomocí Pythonu.

  • Vytvořte nový nebo načtěte existující soubor Excel pomocí třídy Workbook.
  • Naplňte list daty (volitelné).
  • Získejte kolekci kontingenčních tabulek do objektu PivotTableCollection pomocí metody Worksheet.getPivotTables().
  • Přidejte novou kontingenční tabulku pomocí metody PivotTableCollection.add(string, string, string) a získejte její odkaz v objektu.
  • Nastavte možnosti, jako je celkový součet, formátování atd.
  • Přidejte pole do oblasti pomocí metody PivotTable.addFieldToArea(int, int).
  • Uložte sešit pomocí metody Workbook.save(string).

Následující ukázka kódu ukazuje, jak přidat kontingenční tabulku v Excelu v Pythonu.

import jpype
import asposecells

jpype.startJVM()
from asposecells.api import Workbook, PivotFieldType

# Vytvořte instanci objektu sešitu
workbook = Workbook()

# Přidejte nový list a získejte jeho odkaz
sheetIndex = workbook.getWorksheets().add()
worksheet = workbook.getWorksheets().get(sheetIndex)

# Získejte buňky listu
cells = worksheet.getCells()

# Nastavte hodnotu na buňky
cell = cells.get("A1")
cell.setValue("Sport")
cell = cells.get("B1")
cell.setValue("Quarter")
cell = cells.get("C1")
cell.setValue("Sales")

cell = cells.get("A2")
cell.setValue("Golf")
cell = cells.get("A3")
cell.setValue("Golf")
cell = cells.get("A4")
cell.setValue("Tennis")
cell = cells.get("A5")
cell.setValue("Tennis")
cell = cells.get("A6")
cell.setValue("Tennis")
cell = cells.get("A7")
cell.setValue("Tennis")
cell = cells.get("A8")
cell.setValue("Golf")

cell = cells.get("B2")
cell.setValue("Qtr3")
cell = cells.get("B3")
cell.setValue("Qtr4")
cell = cells.get("B4")
cell.setValue("Qtr3")
cell = cells.get("B5")
cell.setValue("Qtr4")
cell = cells.get("B6")
cell.setValue("Qtr3")
cell = cells.get("B7")
cell.setValue("Qtr4")
cell = cells.get("B8")
cell.setValue("Qtr3")

cell = cells.get("C2")
cell.setValue(1500)
cell = cells.get("C3")
cell.setValue(2000)
cell = cells.get("C4")
cell.setValue(600)
cell = cells.get("C5")
cell.setValue(1500)
cell = cells.get("C6")
cell.setValue(4070)
cell = cells.get("C7")
cell.setValue(5000)
cell = cells.get("C8")
cell.setValue(6430)

# Získejte všechny kontingenční tabulky
pivotTables = worksheet.getPivotTables()

# Přidejte do listu novou kontingenční tabulku
index = pivotTables.add("=A1:C8", "E3", "PivotTable2")

# Přístup k instanci nově přidané kontingenční tabulky
pivotTable = pivotTables.get(index)

# Skrýt celkové součty pro řádky
pivotTable.setRowGrand(False)

# Přetáhněte první pole do oblasti řádku
pivotTable.addFieldToArea(PivotFieldType.ROW, 0)

# Přetáhněte druhé pole do oblasti sloupců
pivotTable.addFieldToArea(PivotFieldType.COLUMN, 1)

# Přetáhněte třetí pole do datové oblasti
pivotTable.addFieldToArea(PivotFieldType.DATA, 2)

# Uložte soubor aplikace Excel
workbook.save("CreatePivotTable.xlsx")

Data aplikace Excel

Zdroj dat pro kontingenční tabulku Excel

Kontingenční tabulka

vytvořit kontingenční tabulku v Excelu v Javě

Formátování buněk v kontingenčních tabulkách Excel v Pythonu

Následují kroky k formátování buněk v kontingenčních tabulkách Excelu v Pythonu.

  • Vytvořte nový nebo načtěte existující soubor Excel pomocí třídy Workbook.
  • Vyplňte pracovní list (volitelné).
  • Získejte odkaz na list, kde je umístěna kontingenční tabulka.
  • Získejte odkaz na kontingenční tabulku podle indexu pomocí metody Worksheet.getPivotTables().get(index).
  • Vytvořte nový styl pomocí metody Workbook.createStyle() a získejte jeho referenci.
  • Nastavte požadované vlastnosti objektu Style.
  • Přiřaďte objekt Style kontingenční tabulce.
  • Uložte sešit pomocí metody Workbook.save(string).

Následující ukázka kódu ukazuje, jak formátovat kontingenční tabulku Excel v Pythonu.

import jpype
import asposecells

jpype.startJVM()
from asposecells.api import Workbook, BackgroundType, Color

# Vytvořte objekt sešitu ze zdrojového souboru aplikace Excel obsahující kontingenční tabulku
workbook = Workbook("pivotTable_test.xlsx")

# Přístup k listu podle jeho názvu
worksheet = workbook.getWorksheets().get("PivotTable")

# Přístup ke kontingenční tabulce podle indexu
pivotTable = worksheet.getPivotTables().get(0)

# Vytvořte objekt stylu se světle modrou barvou pozadí
style = workbook.createStyle()
style.setPattern(BackgroundType.SOLID)
style.setBackgroundColor(Color.getLightBlue())

# Naformátujte celý kontingenční stůl světle modrou barvou
pivotTable.formatAll(style)

# Vytvořte další objekt stylu se žlutou barvou
style = workbook.createStyle()
style.setPattern(BackgroundType.SOLID)
style.setBackgroundColor(Color.getYellow())

# Naformátujte buňky prvního řádku kontingenční tabulky žlutou barvou
columns = [0, 1, 2, 3, 4]
for x in columns:
  pivotTable.format(1, x, style)

# Uložte objekt sešitu
workbook.save("output.xlsx")

Knihovna Pythonu pro vytváření kontingenčních tabulek Excel – získejte bezplatnou licenci

Můžete získat bezplatnou dočasnou licenci k používání Aspose.Cells pro Python bez omezení hodnocení.

Závěr

V tomto článku jste se naučili, jak vytvořit kontingenční tabulku v excelových listech v Pythonu. Dále jste viděli, jak programově formátovat buňky v kontingenčních tabulkách v Excelu. Kromě toho můžete prozkoumat více o knihovně Python Excel pomocí documentation. V případě jakýchkoli dotazů nás neváhejte kontaktovat prostřednictvím našeho fóra.

Viz také