Deze korte zelfstudie leidt naar het maken van een draaitabel in Python met behulp van gedetailleerde stappen die informatie geven over de omgevingsconfiguratie en de Python-programmastroom. Tijdens het gebruik van Python Excel-draaitabel wordt gemaakt met behulp van een uitvoerbare voorbeeldcode na het laden van de bronwerkmap met de invoergegevens voor de draaitabel. Uiteindelijk wordt de resulterende werkmap opgeslagen in een van de gewenste formaten zoals XLSX, XLS, enz.
Stappen om een draaitabel in Python te maken
- Breng de omgeving tot stand om Aspose.Cells voor Python via Java te installeren in het project
- Laad of maak een Workbook klassenobject met invoergegevens voor de draaitabel
- Haal de verwijzing naar de draaitabellenverzameling op in het doel worksheet
- Een draaitabel toevoegen aan de verzameling
- Configureer de nieuw toegevoegde draaitabel
- Voeg de gewenste velden toe aan de respectieve gebieden in de draaitabel
- Sla de uitvoerwerkmap op met de draaitabel erin
Deze stappen bieden instructies voor Python-code om draaitabel in Excel te maken door een link te delen naar de omgevingsconfiguratiebron en naar een reeks taken die in Python moeten worden uitgevoerd om de functionaliteit te bereiken. Het helpt om velden toe te voegen aan verschillende gebieden in de draaitabel volgens de vereiste. Zodra de draaitabel is opgesteld, wordt deze in het gewenste formaat opgeslagen in het Excel-bestand.
Code om Excel-draaitabel te maken met 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() |
Dit artikel heeft ons begeleid bij het maken van een draaitabel. Als u met een wachtwoord beveiligde Excel-bestanden wilt lezen, raadpleeg dan het artikel over: lees wachtwoordbeveiligd Excel-bestand in Python.