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
- Établir l’environnement pour installer Aspose.Cells pour Python via Java dans le projet
- Charger ou créer un objet de classe Workbook contenant les données d’entrée pour le tableau croisé dynamique
- Obtenez la référence à la collection de tableaux croisés dynamiques dans la cible worksheet
- Ajouter un tableau croisé dynamique dans la collection
- Configurer le tableau croisé dynamique nouvellement ajouté
- Ajoutez les champs souhaités dans les zones respectives du tableau croisé dynamique
- 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() |
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.