Crea una tabella pivot in Excel usando Python

Le tabelle pivot nei fogli di calcolo Excel vengono utilizzate per riepilogare i dati in modo interattivo. Supponiamo di avere i dati di un certo numero di fatture e di volerne raggruppare il totale per clienti o prodotti. Le tabelle pivot entrano in gioco in questi casi. In questo articolo imparerai come gestire le tabelle pivot in Excel in Python. In particolare, imparerai come creare una tabella pivot in Excel in Python. Inoltre, dimostreremo come formattare le celle nelle tabelle pivot di Excel a livello di codice.

Libreria Python per creare tabelle pivot in Excel - Download gratuito

Aspose.Cells for Python è una libreria ad alta velocità, progettata per creare ed elaborare file Excel. Utilizzeremo questa libreria per creare tabelle pivot in fogli di calcolo Excel.

Puoi scaricare il suo pacchetto o installarlo da PyPI usando il seguente comando pip.

pip install aspose-cells

Crea una tabella pivot in Excel in Python

Di seguito sono riportati i passaggi per creare una tabella pivot in Excel utilizzando Python.

  • Creane uno nuovo o carica un file Excel esistente utilizzando la classe Workbook.
  • Compila il foglio di lavoro con i dati (facoltativo).
  • Ottieni la raccolta di tabelle pivot in un oggetto PivotTableCollection utilizzando il metodo Worksheet.getPivotTables().
  • Aggiungi una nuova tabella pivot usando il metodo PivotTableCollection.add(string, string, string) e ottieni il suo riferimento in un oggetto.
  • Imposta opzioni come il totale generale, la formattazione, ecc.
  • Aggiungi campi all’area usando il metodo PivotTable.addFieldToArea(int, int).
  • Salva la cartella di lavoro usando il metodo Workbook.save(string).

L’esempio di codice seguente mostra come aggiungere una tabella pivot in Excel in Python.

import jpype
import asposecells

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

# Istanziare un oggetto cartella di lavoro
workbook = Workbook()

# Aggiungi un nuovo foglio di lavoro e ottieni il suo riferimento
sheetIndex = workbook.getWorksheets().add()
worksheet = workbook.getWorksheets().get(sheetIndex)

# Ottieni le celle del foglio di lavoro
cells = worksheet.getCells()

# Imposta il valore sulle celle
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)

# Ottieni tutte le tabelle pivot
pivotTables = worksheet.getPivotTables()

# Aggiungi una nuova tabella pivot al foglio di lavoro
index = pivotTables.add("=A1:C8", "E3", "PivotTable2")

# Accedi all'istanza della tabella pivot appena aggiunta
pivotTable = pivotTables.get(index)

# Nascondi i totali complessivi per le righe
pivotTable.setRowGrand(False)

# Trascina il primo campo nell'area della riga
pivotTable.addFieldToArea(PivotFieldType.ROW, 0)

# Trascina il secondo campo nell'area della colonna
pivotTable.addFieldToArea(PivotFieldType.COLUMN, 1)

# Trascina il terzo campo nell'area dati
pivotTable.addFieldToArea(PivotFieldType.DATA, 2)

# Salva il file Excel
workbook.save("CreatePivotTable.xlsx")

Dati Excel

Origine dati per tabella pivot excel

Tabella pivot

crea una tabella pivot in excel in java

Formatta le celle nelle tabelle pivot di Excel in Python

Di seguito sono riportati i passaggi per formattare le celle nelle tabelle pivot di Excel in Python.

  • Creane uno nuovo o carica un file Excel esistente utilizzando la classe Workbook.
  • Compila il foglio di lavoro (facoltativo).
  • Ottieni il riferimento del foglio di lavoro in cui si trova la tabella pivot.
  • Ottieni il riferimento della tabella pivot in base all’indice utilizzando il metodo Worksheet.getPivotTables().get(index).
  • Crea un nuovo stile usando il metodo Workbook.createStyle() e ottieni il suo riferimento.
  • Imposta le proprietà desiderate dell’oggetto Style.
  • Assegna l’oggetto Style alla tabella pivot.
  • Salva la cartella di lavoro usando il metodo Workbook.save(string).

L’esempio di codice seguente mostra come formattare una tabella pivot di Excel in Python.

import jpype
import asposecells

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

# Crea un oggetto cartella di lavoro dal file Excel di origine contenente la tabella pivot
workbook = Workbook("pivotTable_test.xlsx")

# Accedi al foglio di lavoro tramite il suo nome
worksheet = workbook.getWorksheets().get("PivotTable")

# Accedi alla tabella pivot per indice
pivotTable = worksheet.getPivotTables().get(0)

# Crea un oggetto di stile con il colore di sfondo azzurro
style = workbook.createStyle()
style.setPattern(BackgroundType.SOLID)
style.setBackgroundColor(Color.getLightBlue())

# Formatta l'intera tabella pivot con il colore azzurro
pivotTable.formatAll(style)

# Crea un altro oggetto di stile con il colore giallo
style = workbook.createStyle()
style.setPattern(BackgroundType.SOLID)
style.setBackgroundColor(Color.getYellow())

# Formatta le celle della prima riga della tabella pivot con il colore giallo
columns = [0, 1, 2, 3, 4]
for x in columns:
  pivotTable.format(1, x, style)

# Salva l'oggetto cartella di lavoro
workbook.save("output.xlsx")

Libreria Python per creare tabelle pivot di Excel - Ottieni una licenza gratuita

Puoi ottenere una licenza temporanea gratuita per utilizzare Aspose.Cells for Python senza limitazioni di valutazione.

Conclusione

In questo articolo, hai imparato come creare una tabella pivot in fogli Excel in Python. Inoltre, hai visto come formattare le celle nelle tabelle pivot in Excel a livello di codice. Inoltre, puoi esplorare di più sulla libreria Python Excel usando documentazione. In caso di domande, non esitare a farcelo sapere tramite il nostro forum.

Guarda anche