
Книга посвящена автоматизации Excel с помощью языка программирования Python. Описаны дистрибутив Anaconda Python и современные средства разработки, такие как менеджеры пакетов Conda и pip, блокноты Jupyter и Visual Studio Code. Даны необходимые основы языка Python и введение в анализ данных с помощью библиотеки pandas. Приведены приемы чтения и записи файлов Excel без Excel. Рассмотрено программирование приложений Excel с помощью популярного пакета с открытым исходным кодом xlwings: автоматизация Excel, инструменты на основе технологии Python, трекер пакетов Python, а также функции, определяемые пользователем.
Электронный архив на сайте издательства содержит цветные иллюстрации к книге.
Для опытных пользователей Excel и программистов
Современная среда для автоматизации и анализа данных
Excel — это самый популярный в мире табличный редактор, но его язык автоматизации VBA давно перестал развиваться. Python – самый востребованный язык программирования, он хорошо работает с данными и прекрасно подходит на роль языка сценариев Excel. Вот почему сочетание Excel и Python актуально и привлекательно.
В книге показано, как эффективно интегрировать эти два мира и начать работу по автоматизации Excel с помощью Python. При этом знание Python приветствуется, но не обязательно, так как в книге есть введение во все используемые инструменты, включая вводный курс по языку Python.
- Освойте работу с современными инструментами, включая блокноты Jupyter и Visual Studio Code.
- Используйте pandas для сбора, очистки и анализа данных и замены типичных вычислений в Excel.
- Автоматизируйте рутинные задачи, такие как объединение рабочих книг Excel и создание отчетов Excel.
- Используйте xlwings для создания интерактивных инструментов Excel, использующих Python в качестве механизма вычислений.
- Подключайте Excel к базам данных и файлам CSV и получайте данные из Интернета с помощью кода Python.
- Используйте Python как единый инструмент для замены VBA, Power Query и Power Pivot.
Книгу “Python для Excel” можно купить со скидкой в интернет-магазине издательства “БХВ“.
Предисловие. 11
Почему я написал эту книгу. 12
Кому адресована эта книга. 12
Структура книги. 13
Версии Python и Excel 14
Условные обозначения, используемые в этой книге. 15
Примеры использования кода. 15
Иллюстрации. 16
Онлайн-обучение O’Reilly. 17
Как с нами связаться. 17
Благодарности. 17
Часть I. Введение в Python.. 19
Глава 1. Зачем нужен Python для Excel?. 21
Excel как язык программирования. 22
Excel в новостях. 23
Передовые методы программирования. 24
Современный Excel 29
Python для Excel 31
Читабельность и эксплуатационная пригодность. 31
Стандартная библиотека и менеджер пакетов. 32
Научные вычисления. 34
Особенности современного языка. 35
Кросс-платформенная совместимость. 36
Заключение. 36
Глава 2. Среда разработки. 38
Дистрибутив Anaconda Python. 39
Установка. 39
Anaconda Prompt 40
Python REPL: интерактивная сессия Python. 43
Менеджеры пакетов: Conda и pip. 44
Среды Conda. 46
Jupyter Notebooks. 47
Запуск блокнотов Jupyter 48
Ячейки блокнота. 49
Режим редактирования и командный режим.. 51
Порядок выполнения имеет значение. 52
Завершение работы блокнотов Jupyter 52
Visual Studio Code. 53
Установка и настройка. 55
Запуск скрипта на Python. 57
Заключение. 61
Глава 3. Приступая к работе с Python. 63
Типы данных. 63
Объекты.. 64
Числовые типы.. 65
Логический тип данных. 67
Строки. 69
Индексирование и нарезка. 70
Индексирование. 70
Нарезка (Slicing) 71
Структуры данных. 72
Списки. 72
Словари. 75
Кортежи. 76
Множества. 77
Управление потоком.. 78
Блоки кода и оператор pass. 78
Оператор if и условные выражения. 79
Циклы for и while. 80
Анализ списков, словарей и множеств. 83
Организация кода. 84
Функции. 84
Модули и инструкция по импорту. 86
Класс datetime. 88
PEP 8: Руководство по стилю для кода Python. 90
PEP 8 и VS Code. 92
Подсказки по типам.. 93
Заключение. 94
Часть II. Введение в pandas. 95
Глава 4. Основы NumPy. 97
Начало работы с NumPy. 97
Массив NumPy. 97
Векторизация и транслирование. 99
Универсальные функции (ufunc) 101
Создание и манипулирование массивами. 102
Получение и установка элементов массива. 102
Полезные конструкторы массива. 103
Представления и копирование. 103
Заключение. 104
Глава 5. Анализ данных с помощью pandas. 105
DataFrame и Series. 105
Индекс. 108
Столбцы.. 110
Манипулирование данными. 111
Выбор данных. 111
Изменение данных. 117
Отсутствующие данные. 120
Дубликаты данных. 122
Арифметические операции. 123
Работа с текстовой колонкой. 125
Использование функции. 126
Просмотр и копирование. 127
Объединение DataFrames. 127
Объединение. 128
Объединение и слияние. 129
Описательная статистика и агрегация данных. 132
Описательная статистика. 132
Группировка. 133
Pivoting и Melting. 134
Построение графиков. 135
Matplotlib. 135
Plotly. 137
Импорт и экспорт DataFrames. 140
Экспорт CSV файлов. 141
Импорт CSV-файлов. 142
Заключение. 144
Глава 6. Анализ временны́х рядов с помощью pandas. 145
DatetimeIndex. 146
Создание DatetimeIndex. 146
Фильтрация DatetimeIndex. 148
Работа с часовыми поясами. 150
Общие манипуляции с временны́ми рядами. 151
Смещение и процентные изменения. 151
Пересчет и корреляция. 153
Повторная выборка. 156
Скользящее окно. 157
Ограничения при работе с pandas. 158
Заключение. 159
Часть III. Чтение и запись файлов Excel без Excel. 161
Глава 7. Манипулирование файлами Excel с помощью pandas. 163
Тематическое исследование: отчетность в Excel 163
Чтение и запись файлов Excel с помощью pandas. 167
Функция read_excel и класс ExcelFile. 167
Метод to_excel и класс ExcelWriter 173
Ограничения при работе pandas с файлами Excel 174
Заключение. 175
Глава 8. Манипулирование файлами Excel с помощью пакетов
reader и writer. 176
Пакеты reader и writer 176
В каких случаях какой пакет используется. 177
Модуль excel.py. 178
OpenPyXL. 180
XlsxWriter 184
pyxlsb. 186
xlrd, xlwt, and xlutils. 187
Работа с xlwt 189
Расширенный круг задач для reader и writer 190
Работа с большими файлами Excel 191
Форматирование данных в Excel 195
Тематическое исследование (повторное): отчетность в Excel 200
Заключение. 201
Часть IV. Программирование приложения Excel
с помощью xlwings. 205
Глава 9. Автоматизация Excel 205
Начало работы с xlwings. 206
Использование Excel в качестве средства просмотра данных. 206
Объектная модель Excel 208
Запуск кода VBA.. 215
Конвертеры, опции и коллекции. 216
Работа с DataFrames. 216
Конвертеры и опции. 217
Диаграммы, рисунки и определенные имена. 220
Случай из практики (повторный анализ): отчетность в Excel 223
Расширенные темы xlwings. 225
Основы xlwings. 225
Улучшение производительности. 227
Как действовать при отсутствии недостающих функций. 229
Заключение. 230
Глава 10. Инструменты Excel на основе технологии Python. 231
Использование Excel в качестве интерфейса xlwings. 231
Надстройка Excel 232
Команда Quickstart 233
Run Main. 234
Функция RunPython. 235
Развертывание. 240
Зависимости Python. 240
Автономные рабочие книги: избавление от надстройки xlwings. 241
Иерархия конфигурации. 242
Настройки. 243
Заключение. 244
Глава 11. Трекер пакетов Python. 245
Что мы будем создавать. 245
Основной функционал. 247
Web APIs. 248
Базы данных. 251
Исключения. 260
Структура приложения. 263
Внешний интерфейс. 264
Внутренний интерфейс. 268
Отладка. 271
Заключение. 273
Глава 12. Функции, определяемые пользователем (UDFs) 274
Начало работы с UDF. 274
UDF Quickstart 275
Тематическое исследование: Google Trends. 280
Введение в Google Trends. 280
Работа с DataFrames и динамическими массивами. 282
Получение данных из Google Trends. 287
Построение графиков с помощью UDF. 291
Отладка UDFs. 293
Дополнительные вопросы по UDF. 294
Базовая оптимизация производительности. 295
Кэширование. 297
Декоратор Sub. 299
Заключение. 301
Часть V. Приложения. 303
Приложение A. Среда Conda. 305
Создание новой среды Conda. 305
Отключение автоматической активации. 307
Приложение B. Расширенные функциональные возможности VS Code. 308
Отладчик. 308
Блокноты Jupyter в VS Code. 310
Запуск блокнотов Jupyter 310
Сценарии Python с ячейками кода. 311
Приложение C. Дополнительные концепции Python. 313
Классы и объекты.. 313
Работа с объектами datetime с учетом временной зоны.. 315
Изменяемые и неизменяемые объекты Python. 316
Вызов функций с изменяемыми объектами в качестве аргументов. 317
Функции с изменяемыми объектами в качестве аргументов
по умолчанию.. 319
Об авторе. 321
Обложка. 323
Предметный указатель. 325

Феликс Зумштейн — создатель xlwings, популярного пакета с открытым исходным кодом, который позволяет автоматизировать Excel с помощью Python в Windows и macOS. Как генеральный директор компании xltrail и менеджер одноименной системы контроля версий для файлов Excel, он имеет глубокое представление о типичных случаях использования и проблемах с Excel в различных областях.
-
Python для Excel
1060 ₽
901 ₽