Este breve tutorial se dirige a crear una tabla dinámica en Python con la ayuda de pasos detallados que brindan información sobre la configuración del entorno y el flujo del programa de Python. Mientras se usa la tabla dinámica de Python Excel se creará usando un código de muestra ejecutable después de cargar el libro de origen que contiene los datos de entrada para la tabla dinámica. Al final, el libro de trabajo resultante se guardará en cualquiera de los formatos deseados como XLSX, XLS, etc.
Pasos para crear una tabla dinámica en Python
- Establecer el entorno para instalar Aspose.Cells para Python a través de Java en el proyecto
- Cargue o cree un objeto de clase Workbook que contenga datos de entrada para la tabla dinámica
- Obtenga la referencia a la colección de tablas dinámicas en el destino worksheet
- Agregar una tabla dinámica en la colección
- Configurar la tabla dinámica recién agregada
- Agregue los campos deseados en las áreas respectivas en la tabla dinámica
- Guarde el libro de trabajo de salida con la tabla dinámica en él
Estos pasos brindan instrucciones para que el código de Python cree una tabla dinámica en Excel al compartir un enlace al recurso de configuración del entorno y a una secuencia de tareas que se realizarán en Python para lograr la funcionalidad. Guía para agregar campos a diferentes áreas en la tabla dinámica según el requisito. Una vez preparada la tabla dinámica, se guarda en el archivo de Excel en el formato deseado.
Código para crear una tabla dinámica de Excel con 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() |
Este artículo nos ha guiado para crear una tabla dinámica. Si desea leer archivos de Excel protegidos con contraseña, consulte el artículo sobre leer un archivo Excel protegido con contraseña en Python.