Tento stručný návod směřuje k vytvoření kontingenční tabulky v Pythonu s pomocí podrobných kroků poskytujících informace o konfiguraci prostředí a toku programu Python. Při používání Python Excel kontingenční tabulka bude vytvořena pomocí spustitelného ukázkového kódu po načtení zdrojového sešitu obsahujícího vstupní data pro kontingenční tabulku. Nakonec bude výsledný sešit uložen v libovolném z požadovaných formátů, jako je XLSX, XLS atd.
Kroky k vytvoření kontingenční tabulky v Pythonu
- Vytvořte prostředí pro instalaci Aspose.Cells pro Python prostřednictvím Javy do projektu
- Načtěte nebo vytvořte objekt třídy Workbook obsahující vstupní data pro kontingenční tabulku
- Získejte odkaz na kolekci kontingenčních tabulek v cíli worksheet
- Přidejte do kolekce kontingenční tabulku
- Nakonfigurujte nově přidanou kontingenční tabulku
- Přidejte požadovaná pole do příslušných oblastí v kontingenční tabulce
- Uložte výstupní sešit s kontingenční tabulkou v něm
Tyto kroky poskytují pokyny pro kód Pythonu k vytvoření kontingenční tabulky v Excelu sdílením odkazu na zdroj konfigurace prostředí a na posloupnost úloh, které je třeba provést v Pythonu, abyste dosáhli této funkce. Vede k přidání polí do různých oblastí v kontingenční tabulce podle požadavku. Jakmile je kontingenční tabulka připravena, uloží se do souboru Excel v požadovaném formátu.
Kód pro vytvoření kontingenční tabulky Excel s Pythonem
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() |
Tento článek nás navedl k vytvoření kontingenční tabulky. Pokud si chcete přečíst soubory Excel chráněné heslem, přečtěte si článek o číst heslem chráněný soubor Excel v Pythonu.