Сводные таблицы в электронных таблицах Excel используются для интерактивного обобщения данных. Предположим, у вас есть данные нескольких счетов-фактур, и вы хотите получить их общую сумму, сгруппированную по клиентам или продуктам. В таких случаях в игру вступают сводные таблицы. В этой статье вы узнаете, как работать со сводными таблицами в Excel на Python. В частности, вы узнаете, как создать сводную таблицу в Excel на Python. Кроме того, мы продемонстрируем, как программно форматировать ячейки в сводных таблицах Excel.
- Библиотека Python для работы со сводными таблицами Excel
- Создайте сводную таблицу в Excel на Python
- Форматирование ячеек в сводной таблице Excel
- Получить бесплатную лицензию
Библиотека Python для создания сводной таблицы в Excel — бесплатная загрузка
Aspose.Cells for Python — это высокоскоростная библиотека, предназначенная для создания и обработки файлов Excel. Мы будем использовать эту библиотеку для создания сводных таблиц в электронных таблицах Excel.
Вы можете скачать его пакет или установить его из PyPI, используя следующую команду pip.
pip install aspose-cells
Создайте сводную таблицу в Excel на Python
Ниже приведены шаги по созданию сводной таблицы в Excel с использованием Python.
- Создайте новый или загрузите существующий файл Excel с помощью класса Workbook.
- Заполните рабочий лист данными (необязательно).
- Получить коллекцию сводных таблиц в объект PivotTableCollection с помощью метода Worksheet.getPivotTables().
- Добавьте новую сводную таблицу с помощью метода PivotTableCollection.add(string, string, string) и получите ссылку на нее в объекте.
- Установите такие параметры, как общий итог, форматирование и т. д.
- Добавьте поля в область, используя метод PivotTable.addFieldToArea(int, int).
- Сохраните книгу с помощью метода Workbook.save(string).
В следующем примере кода показано, как добавить сводную таблицу в Excel на Python.
import jpype
import asposecells
jpype.startJVM()
from asposecells.api import Workbook, PivotFieldType
# Создать экземпляр объекта Workbook
workbook = Workbook()
# Добавьте новый рабочий лист и получите его ссылку
sheetIndex = workbook.getWorksheets().add()
worksheet = workbook.getWorksheets().get(sheetIndex)
# Получить ячейки рабочего листа
cells = worksheet.getCells()
# Установите значение в ячейки
cell = cells.get("A1")
cell.setValue("Sport")
cell = cells.get("B1")
cell.setValue("Quarter")
cell = cells.get("C1")
cell.setValue("Sales")
cell = cells.get("A2")
cell.setValue("Golf")
cell = cells.get("A3")
cell.setValue("Golf")
cell = cells.get("A4")
cell.setValue("Tennis")
cell = cells.get("A5")
cell.setValue("Tennis")
cell = cells.get("A6")
cell.setValue("Tennis")
cell = cells.get("A7")
cell.setValue("Tennis")
cell = cells.get("A8")
cell.setValue("Golf")
cell = cells.get("B2")
cell.setValue("Qtr3")
cell = cells.get("B3")
cell.setValue("Qtr4")
cell = cells.get("B4")
cell.setValue("Qtr3")
cell = cells.get("B5")
cell.setValue("Qtr4")
cell = cells.get("B6")
cell.setValue("Qtr3")
cell = cells.get("B7")
cell.setValue("Qtr4")
cell = cells.get("B8")
cell.setValue("Qtr3")
cell = cells.get("C2")
cell.setValue(1500)
cell = cells.get("C3")
cell.setValue(2000)
cell = cells.get("C4")
cell.setValue(600)
cell = cells.get("C5")
cell.setValue(1500)
cell = cells.get("C6")
cell.setValue(4070)
cell = cells.get("C7")
cell.setValue(5000)
cell = cells.get("C8")
cell.setValue(6430)
# Получить все сводные таблицы
pivotTables = worksheet.getPivotTables()
# Добавьте новую сводную таблицу на лист
index = pivotTables.add("=A1:C8", "E3", "PivotTable2")
# Доступ к экземпляру недавно добавленной сводной таблицы
pivotTable = pivotTables.get(index)
# Скрыть общие итоги для строк
pivotTable.setRowGrand(False)
# Перетащите первое поле в область строк
pivotTable.addFieldToArea(PivotFieldType.ROW, 0)
# Перетащите второе поле в область столбца
pivotTable.addFieldToArea(PivotFieldType.COLUMN, 1)
# Перетащите третье поле в область данных
pivotTable.addFieldToArea(PivotFieldType.DATA, 2)
# Сохраните файл Excel
workbook.save("CreatePivotTable.xlsx")
Данные Excel
Сводная таблица
Форматирование ячеек в сводных таблицах Excel в Python
Ниже приведены шаги для форматирования ячеек в сводных таблицах Excel в Python.
- Создайте новый или загрузите существующий файл Excel с помощью класса Workbook.
- Заполните рабочий лист (необязательно).
- Получите ссылку на рабочий лист, где находится сводная таблица.
- Получите ссылку на сводную таблицу по индексу, используя метод Worksheet.getPivotTables().get(index).
- Создайте новый стиль с помощью метода Workbook.createStyle() и получите его ссылку.
- Установите желаемые свойства объекта Style.
- Назначьте объект Style сводной таблице.
- Сохраните книгу с помощью метода Workbook.save(string).
В следующем примере кода показано, как отформатировать сводную таблицу Excel в Python.
import jpype
import asposecells
jpype.startJVM()
from asposecells.api import Workbook, BackgroundType, Color
# Создать объект книги из исходного файла Excel, содержащего сводную таблицу
workbook = Workbook("pivotTable_test.xlsx")
# Доступ к рабочему листу по его имени
worksheet = workbook.getWorksheets().get("PivotTable")
# Доступ к сводной таблице по индексу
pivotTable = worksheet.getPivotTables().get(0)
# Создайте объект стиля со светло-голубым цветом фона.
style = workbook.createStyle()
style.setPattern(BackgroundType.SOLID)
style.setBackgroundColor(Color.getLightBlue())
# Отформатировать всю сводную таблицу голубым цветом
pivotTable.formatAll(style)
# Создайте еще один объект стиля с желтым цветом
style = workbook.createStyle()
style.setPattern(BackgroundType.SOLID)
style.setBackgroundColor(Color.getYellow())
# Отформатируйте ячейки первой строки сводной таблицы желтым цветом
columns = [0, 1, 2, 3, 4]
for x in columns:
pivotTable.format(1, x, style)
# Сохраните объект рабочей книги
workbook.save("output.xlsx")
Библиотека Python для создания сводных таблиц Excel — бесплатная лицензия
Вы можете получить бесплатную временную лицензию для использования Aspose.Cells for Python без ограничений на пробную версию.
Вывод
В этой статье вы узнали, как создать сводную таблицу на листах Excel в Python. Кроме того, вы видели, как программно форматировать ячейки в сводных таблицах Excel. Кроме того, вы можете узнать больше о библиотеке Python Excel, используя документацию. Если у вас возникнут какие-либо вопросы, сообщите нам об этом через наш форум.