Utwórz tabelę przestawną w programie Excel przy użyciu języka Python

Tabele przestawne w arkuszach kalkulacyjnych programu Excel służą do interaktywnego podsumowywania danych. Załóżmy, że masz dane wielu faktur i chcesz uzyskać ich sumę pogrupowaną według klientów lub produktów. Tabele przestawne wchodzą w grę w takich przypadkach. W tym artykule dowiesz się, jak radzić sobie z tabelami przestawnymi w Excelu w Python. W szczególności dowiesz się, jak utworzyć tabelę przestawną w Excelu w Python. Ponadto pokażemy, jak programowo formatować komórki w tabelach przestawnych programu Excel.

Biblioteka Python do tworzenia tabel przestawnych w programie Excel — bezpłatne pobieranie

Aspose.Cells for Python to szybka biblioteka, która jest przeznaczona do tworzenia i przetwarzania plików Excel. Będziemy używać tej biblioteki do tworzenia tabel przestawnych w arkuszach kalkulacyjnych Excel.

Możesz pobrać jego pakiet lub zainstalować go z PyPI za pomocą następującego polecenia pip.

pip install aspose-cells

Utwórz tabelę przestawną w Excelu w Python

Poniżej przedstawiono kroki tworzenia tabeli przestawnej w programie Excel przy użyciu języka Python.

  • Utwórz nowy lub załaduj istniejący plik programu Excel, korzystając z klasy Workbook.
  • Wypełnij arkusz danymi (opcjonalnie).
  • Pobierz kolekcję tabel przestawnych do obiektu PivotTableCollection za pomocą metody Worksheet.getPivotTables().
  • Dodaj nową tabelę przestawną za pomocą metody PivotTableCollection.add(string, string, string) i pobierz jej odwołanie w obiekcie.
  • Ustaw opcje, takie jak suma całkowita, formatowanie itp.
  • Dodaj pola do obszaru za pomocą metody PivotTable.addFieldToArea(int, int).
  • Zapisz skoroszyt przy użyciu metody Workbook.save(string).

Poniższy przykładowy kod pokazuje, jak dodać tabelę przestawną w programie Excel w języku Python.

import jpype
import asposecells

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

# Utwórz instancję obiektu skoroszytu
workbook = Workbook()

# Dodaj nowy arkusz i uzyskaj jego odniesienie
sheetIndex = workbook.getWorksheets().add()
worksheet = workbook.getWorksheets().get(sheetIndex)

# Pobierz komórki arkusza
cells = worksheet.getCells()

# Ustaw wartość dla komórek
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)

# Pobierz wszystkie tabele przestawne
pivotTables = worksheet.getPivotTables()

# Dodaj nową tabelę przestawną do arkusza
index = pivotTables.add("=A1:C8", "E3", "PivotTable2")

# Uzyskaj dostęp do instancji nowo dodanej tabeli przestawnej
pivotTable = pivotTables.get(index)

# Ukryj sumy końcowe dla wierszy
pivotTable.setRowGrand(False)

# Przeciągnij pierwsze pole do obszaru wiersza
pivotTable.addFieldToArea(PivotFieldType.ROW, 0)

# Przeciągnij drugie pole do obszaru kolumny
pivotTable.addFieldToArea(PivotFieldType.COLUMN, 1)

# Przeciągnij trzecie pole do obszaru danych
pivotTable.addFieldToArea(PivotFieldType.DATA, 2)

# Zapisz plik Excela
workbook.save("CreatePivotTable.xlsx")

Dane Excela

Źródło danych dla tabeli przestawnej programu Excel

Stół obrotowy

utwórz tabelę przestawną w programie Excel w Javie

Formatuj komórki w tabelach przestawnych Excela w Python

Poniżej przedstawiono kroki formatowania komórek w tabelach przestawnych programu Excel w języku Python.

  • Utwórz nowy lub załaduj istniejący plik programu Excel, korzystając z klasy Workbook.
  • Wypełnij arkusz (opcjonalnie).
  • Uzyskaj odniesienie do arkusza roboczego, w którym znajduje się tabela przestawna.
  • Pobierz odwołanie do tabeli przestawnej według indeksu, używając metody Worksheet.getPivotTables().get(index).
  • Utwórz nowy styl za pomocą metody Workbook.createStyle() i pobierz jego referencję.
  • Ustaw żądane właściwości obiektu Style.
  • Przypisz obiekt Style do tabeli przestawnej.
  • Zapisz skoroszyt przy użyciu metody Workbook.save(string).

Poniższy przykładowy kod pokazuje, jak sformatować tabelę przestawną programu Excel w języku Python.

import jpype
import asposecells

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

# Utwórz obiekt skoroszytu ze źródłowego pliku Excel zawierającego tabelę przestawną
workbook = Workbook("pivotTable_test.xlsx")

# Uzyskaj dostęp do arkusza według jego nazwy
worksheet = workbook.getWorksheets().get("PivotTable")

# Dostęp do tabeli przestawnej według indeksu
pivotTable = worksheet.getPivotTables().get(0)

# Utwórz obiekt stylu z jasnoniebieskim kolorem tła
style = workbook.createStyle()
style.setPattern(BackgroundType.SOLID)
style.setBackgroundColor(Color.getLightBlue())

# Sformatuj całą tabelę przestawną kolorem jasnoniebieskim
pivotTable.formatAll(style)

# Utwórz kolejny obiekt stylu z żółtym kolorem
style = workbook.createStyle()
style.setPattern(BackgroundType.SOLID)
style.setBackgroundColor(Color.getYellow())

# Sformatuj komórki pierwszego wiersza tabeli przestawnej kolorem żółtym
columns = [0, 1, 2, 3, 4]
for x in columns:
  pivotTable.format(1, x, style)

# Zapisz obiekt skoroszytu
workbook.save("output.xlsx")

Biblioteka Python do tworzenia tabel przestawnych programu Excel — uzyskaj bezpłatną licencję

Możesz uzyskać bezpłatną tymczasową licencję, aby używać Aspose.Cells for Python bez ograniczeń ewaluacyjnych.

Wniosek

W tym artykule nauczyłeś się, jak utworzyć tabelę przestawną w arkuszach Excela w Python. Ponadto widziałeś, jak programowo formatować komórki w tabelach przestawnych w programie Excel. Poza tym, możesz dowiedzieć się więcej o bibliotece Python Excel korzystając z documentation. Jeśli masz jakieś pytania, daj nam znać za pośrednictwem naszego forum.

Zobacz też