поворачивается с помощью pyExcelerator / xlrd - PullRequest
2 голосов
/ 27 апреля 2010

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

Ответы [ 3 ]

5 голосов
/ 27 апреля 2010

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

Если под «сводной таблицей» вы подразумеваете механизм Excel, вам не повезло, поскольку он может быть создан только в Excel.Однако, если вы имеете в виду «кросс-таблицу», которую вы создаете сами, используя Python и соответствующую библиотеку, вы можете сделать это, используя трио xlrd, xlwt и xlutils.1005 *

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

xlutils - это пакет служебных модулей.xlutils.copy можно использовать для создания объекта xlwt Workbook из объекта xlrd Book, чтобы вы могли вносить изменения в xlwt Workbook и сохранять его в файл.

Вот ваш one-stop-шоп для получения дополнительной информации о трех пакетах вместе с учебным пособием и ссылками на google-group / mailing-list, который вы можете использовать для получения справки.

0 голосов
/ 05 ноября 2013

Попробуйте взглянуть на это: Python: обновить сводные таблицы на листе

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

0 голосов
/ 27 апреля 2010

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

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

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

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

Sheet1.PivotTables(1).PivotCache.Refresh
...