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 pracy z tabelami przestawnymi programu Excel
- Utwórz tabelę przestawną w Excelu w Python
- Formatuj komórki w tabeli przestawnej programu Excel
- Uzyskaj bezpłatną licencję
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
Stół obrotowy
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.