Как легко интегрировать Python в Excel с помощью PyXLL
PyXLL — это инструмент, который устраняет разрыв между Microsoft Excel и Python. Он позволяет легко интегрировать код и функции Python в электронные таблицы Excel. Благодаря PyXLL Excel становится основой для расширения библиотек и возможностей Python.
PyXLL работает как надстройка Excel. Вы можете использовать его для написания функций и макросов Python непосредственно в среде VBA Excel. Затем PyXLL выступает в роли компилятора и запускает код в ячейках Excel, открывая множество возможностей. Некоторые из них включают автоматизацию сложных задач, расширенный анализ данных и визуализацию данных.
Обзор PyXLL
PyXLL работает, запуская интерпретатор Python в процессе Excel. Это позволяет вашему коду Python работать в PyXLL с прямым доступом к данным и объектам Excel. Этот инструмент написан на C++ и использует ту же базовую технологию, что и Excel. Это означает, что код Python, работающий в PyXLL, часто работает быстрее, чем код Excel VBA.
Установка и настройка
Чтобы установить PyXLL, перейдите на веб-сайт PyXLL и загрузите надстройку. Убедитесь, что выбранные вами версии Python и Excel соответствуют тем, что установлены в вашей системе. PyXLL доступен только для версии Excel для Windows.
После завершения загрузки откройте командную строку и выполните:
pip установить pyxll
Вам необходимо установить pip в вашей системе для запуска приведенной выше команды. Затем используйте пакет PyXLL для установки этой надстройки:
установка pyxll
Этот установщик спросит, загрузили вы эту надстройку или нет. Нажмите «Да», затем укажите путь к zip-файлу, содержащему надстройку. Следуйте инструкциям на экране для завершения установки.
Начните работу с PyXLL
После установки этого плагина откройте Excel. Прежде чем оно откроется, появится окно с предложением «Начать пробную версию» или «Купить сейчас». Срок действия пробной версии истечет через 30 дней. После этого вам необходимо приобрести лицензию, чтобы продолжить использование PyXLL.
Нажмите кнопку «Начать пробную версию» . Откроется Excel с установленной надстройкой. На вкладке «Пример PyXLL» нажмите кнопку «О PyXLL». Это действие покажет вам путь к установке надстройки, а также пути к файлам конфигурации и журналам.
Путь, содержащий файл конфигурации, важен, поскольку вам нужно будет отредактировать его позже, поэтому запишите его.
Показывает функции Python для Excel.
Чтобы представить функцию Python в Excel как пользовательскую функцию (UDF), используйте декоратор @xl_func. Этот декоратор инструктирует PyXLL зарегистрировать функцию в Excel, сделав ее доступной для всех пользователей.
Например, чтобы отобразить функцию Python fibonacci() в Excel как UDF, вы можете использовать декоратор @xl_func следующим образом:
from pyxll import xl_func @xl_func def fibonacci(n): “”” Это функция Python, которая вычисляет последовательность Фибоначчи. “”” if n
Сохраните этот код с расширением .py и запишите путь к каталогу, в котором вы сохраняете файл.
Теперь откройте файл конфигурации PyXLL в редакторе и прокрутите вниз до строки, начинающейся с «pythonpath». Обычно этот параметр представляет собой список каталогов, в которых PyXLL будет искать модули Python. Добавьте путь к каталогу, содержащему исходный код функции Фибоначчи.
Затем прокрутите вниз до раздела «Модули» и добавьте этот модуль. Например, если вы сохранили файл fibonacci.py, добавьте в список имя «fibonacci»:
Это действие отобразит функции модуля с помощью декоратора @xl_func в Excel. Затем вернитесь в Excel и на вкладке «Пример PyXLL» нажмите кнопку «Обновить PyXLL», чтобы изменения в файле конфигурации синхронизировались. Затем вы можете вызвать функцию Фибоначчи, как и любую другую формулу Excel.
Вы можете создать столько функций, сколько необходимо, и таким же образом отобразить их в Excel.
Перенос данных между Excel и Python
PyXLL поддерживает использование внешних библиотек Python, таких как Pandas. Он позволяет передавать данные из этих библиотек в Python и наоборот. Например, вы можете использовать Pandas для создания случайного фрейма данных и передачи его в Excel. Убедитесь, что Pandas установлен в системе, затем попробуйте этот код:
из pyxll import xl_func import pandas as pd import numpy as np @xl_func(“int rows, int columns: dataframe”, auto_resize=True) def random_dataframe(rows, columns): data = np.random.rand(rows, columns) columns_names = (chr(ord(‘A’) + x) для x в диапазоне (столбцы)) return pd.DataFrame(data, columns=column_names)
Вы выполните тот же процесс, чтобы отобразить этот модуль и его функции в Excel. Затем вызовите функцию random_dataframe, как и другие формулы Excel:
=random_dataframe(10,5)
По желанию вы можете изменить количество строк и столбцов.
Выше вы узнаете, как легко интегрировать Python в Excel с помощью PyXLL. Надеюсь, статья окажется для вас полезной.
В приведенной выше статье вы познакомились с «Как легко интегрировать Python в Excel с помощью PyXLL». СоветыНадейтесь, что эта статья вам поможет! Если эта статья кажется вам интересной и полезной, не забудьте поделиться ею. Спасибо!