Вопрос

Как я могу пойти в создание рабочего листа (в рабочей книге Excel) с таблицей Pivot, используя Python Libs, как Pyexcelerator / XLRD? Мне нужно создать ежедневный отчет, который имеет таблицу с поворотом для суммирования данных на других листах. Один вариант будет иметь пустой шаблон, который я копирую и заполнил данные. В этом случае есть ли способ освежить поворот от кода? Любые другие предложения?

Это было полезно?

Решение

Пожалуйста, уточните (редактируя свой вопрос), является ли «лист», является сокращением «электронной таблицы» и означает целый файл XLS, или он является аббревиатурой «Рабочий лист», компонент «рабочей книги».

Если по «Pivot Table» вы имеете в виду механизм Excel, вы не повезли, потому что это может быть создано только Excel. Однако, если вы имеете в виду «перекрестную вкладку», которую вы создаете самим собой, используя Python и соответствующую библиотеку, вы можете сделать это, используя трио XLRD, XLWT и XLUTILS.

XLRD Вы, кажется, знаете о.

XLWT - это вилка Pyexcelerator с фиксированными ошибками и несколькими улучшениями. Pyexcelerator, кажется, не поддерживается.

xlutils - это пакет коммунальных модулей. Xlutils.Copy можно использовать для создания объекта рабочей книги XLWT из объекта книги XLRD, чтобы вы могли внести изменения в рабочую книгу XLWT и сохранить его в файл.

Вот твой One-Stop-магазин для получения дополнительной информации о трех пакетах, вместе с учебником и ссылками с списком Google Group / рассылки, который вы можете использовать, чтобы получить помощь.

Другие советы

Постарайтесь взглянуть на это: Python: Обновить PivOltables в листе

Если вы выясните, как создать поворотные таблицы, вы можете использовать мой код для их обновления

Я не верю, что вы можете программически добавить таблицу Pivot, используя xlwt.

Но ваш второй подход (заполнение предварительно настроенной рабочей книги) кажется разумным.

Вы можете обновить таблицу Pivot с помощью макроса VBA в рабочей книге шаблона. Сделать это автоматически, создать WorkBook_Open обработчик события.

Код VBA для обновления таблицы Pivot:

Sheet1.PivotTables(1).PivotCache.Refresh
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top