Comment créer un tableau croisé dynamique en Python

Ce bref didacticiel explique comment créer un tableau croisé dynamique en Python à l’aide d’étapes détaillées fournissant des informations sur la configuration de l’environnement et le déroulement du programme Python. Lors de l’utilisation du tableau croisé dynamique Excel Python, il sera créé à l’aide d’un exemple de code exécutable après le chargement du classeur source contenant les données d’entrée du tableau croisé dynamique. En fin de compte, le classeur résultant sera enregistré dans l’un des formats souhaités tels que XLSX, XLS, etc.

Étapes pour créer un tableau croisé dynamique en Python

  1. Établir l’environnement pour installer Aspose.Cells pour Python via Java dans le projet
  2. Charger ou créer un objet de classe Workbook contenant les données d’entrée pour le tableau croisé dynamique
  3. Obtenez la référence à la collection de tableaux croisés dynamiques dans la cible worksheet
  4. Ajouter un tableau croisé dynamique dans la collection
  5. Configurer le tableau croisé dynamique nouvellement ajouté
  6. Ajoutez les champs souhaités dans les zones respectives du tableau croisé dynamique
  7. Enregistrez le classeur de sortie avec le tableau croisé dynamique dedans

Ces étapes fournissent des instructions au code Python pour créer un tableau croisé dynamique dans Excel en partageant un lien vers la ressource de configuration de l’environnement et vers une séquence de tâches à effectuer dans Python pour obtenir la fonctionnalité. Il guide l’ajout de champs à différentes zones du tableau croisé dynamique selon les besoins. Une fois le tableau croisé dynamique préparé, il est enregistré dans le fichier Excel au format souhaité.

Code pour créer un tableau croisé dynamique Excel avec Python

import jpype
import csv
import asposecells
jpype.startJVM()
from asposecells.api import License, Workbook, PivotFieldType, LoadOptions,FileFormatType
# Instantiate a license to avoid watermark in the output Excel file having pivot table
cellsLicense = License()
cellsLicense.setLicense("Aspose.Cells.lic")
header = ['City', 'Class', 'Fee']
data = [
['Islamabad','Class 1',750],
['Islamabad','Class 4',1000],
['Karachi','Class 1',300],
['Karachi','Class 4',750],
['Karachi','Class 1',2035],
['Karachi','Class 4',2500],
['Islamabad','Class 1',3215]
]
with open('data.csv', 'w', encoding='UTF8', newline='') as f:
writer = csv.writer(f)
# write the header
writer.writerow(header)
# write the data
writer.writerows(data)
# Create a CSV LoadOptions class object
csvLoadOptions = LoadOptions(FileFormatType.CSV)
# Load the CSV data into Workbook class object using the load options
csvWorkbook = Workbook("data.csv",csvLoadOptions)
# Get access to the first sheet for adding pivot table to it
wsPivotTable = csvWorkbook.getWorksheets().get(0)
# Get access to pivot tables collection in the selected sheet
pivotTablesCollection = wsPivotTable.getPivotTables()
# Create the pivot table and save its index
pivotTableIndex = pivotTablesCollection.add("=A1:C8", "A10", "PythonPivotTable")
# Get access to the newly created pivot table
newPivotTable = pivotTablesCollection.get(pivotTableIndex)
# set flag to hide grand totals for rows
newPivotTable.setRowGrand(False)
# Add the first field to the column area of the pivot table
newPivotTable.addFieldToArea(PivotFieldType.COLUMN, 0)
# Add the second field to the row area of the pivot table
newPivotTable.addFieldToArea(PivotFieldType.ROW, 1)
# Add the third field to the data area
newPivotTable.addFieldToArea(PivotFieldType.DATA, 2)
# Saving the Excel file
csvWorkbook.save("NewPivotTable.xlsx")
jpype.shutdownJVM()
Ces lignes de code en Python créent un tableau croisé dynamique Excel en utilisant les données du fichier Excel chargé. Notez que vous pouvez ignorer la création du classeur si vous avez déjà un fichier Excel contenant les données et juste le charger. Ce code illustre également la personnalisation du tableau croisé dynamique nouvellement créé en masquant le total général des lignes individuelles en définissant l’indicateur RowGrand sur False alors que vous pouvez effectuer d’autres personnalisations, telles que la définition du titre du texte modifié, la définition de la colonne grand, le tri de liste personnalisé , etc.

Cet article nous a guidés pour créer un tableau croisé dynamique. Si vous souhaitez lire des fichiers Excel protégés par mot de passe, reportez-vous à l’article sur lire un fichier Excel protégé par mot de passe en Python.

 Français