Как легко интегрировать Python в Excel с помощью PyXLL

Как легко интегрировать Python в Excel с помощью PyXLL
Такие читатели, как вы, помогают поддержать MUO. Когда вы совершаете покупку по ссылкам на нашем сайте, мы можем получать партнерскую комиссию. Читать далее.

PyXLL — это инструмент, который устраняет разрыв между Microsoft Excel и Python. Он позволяет легко интегрировать код и функции Python в электронные таблицы Excel. Благодаря PyXLL Excel становится платформой для использования библиотек и возможностей Python.





PyXLL служит надстройкой Excel. Вы можете использовать его для написания функций и макросов Python непосредственно в среде Excel VBA. Затем PyXLL выступает в роли интерпретатора и запускает код в ячейках Excel, открывая множество возможностей. Некоторые из них включают автоматизацию сложных задач, расширенный анализ данных и визуализацию данных.





Обзор PyXLL

PyXLL работает, запуская интерпретатор Python в процессе Excel. Это дает вашему коду Python, работающему в PyXLL, прямой доступ к данным и объектам Excel. Инструмент написан на C++ и использует ту же базовую технологию, что и Excel. Это означает, что код Python, работающий в PyXLL, обычно работает намного быстрее, чем Код Excel VBA .





Установка и настройка

Чтобы установить PyXLL, перейдите в папку Веб-сайт PyXLL и скачайте надстройку. Убедитесь, что версия Python и выбранная вами версия Excel соответствуют версиям, установленным в вашей системе. PyXLL доступен только для версии Excel для Windows.

  Страница загрузки PyXLL

Когда загрузка завершится, откройте командную строку и выполните следующую команду:



кто искал меня в гугле
 pip install pyxll

Вам нужно установить Pip в вашей системе для выполнения приведенной выше команды. Затем используйте пакет PyXLL для установки надстройки PyXLL:

 pyxll install 

Установщик спросит, загрузили ли вы надстройку. Введите «да», а затем укажите путь к zip-файлу, содержащему надстройку. Затем следуйте инструкциям на экране для завершения установки.





Начало работы с PyXLL

После установки плагина запустите Excel. Перед его запуском появится всплывающее окно с просьбой Начать пробный период или Купить сейчас . Срок действия пробной версии истечет через тридцать дней, и вам необходимо будет приобрести лицензию, чтобы продолжить использование PyXLL.

  Подсказка версии PyXLL

Нажать на Начать пробный период кнопка. Это запустит Excel с установленной надстройкой.





На Вкладка «Пример PyXLL» , нажать на О PyXLL кнопка. Это покажет вам путь, по которому вы установили надстройку, а также пути к файлам конфигурации и журналам.

  PyXLL о подсказке в Excel

Путь, содержащий файл конфигурации, важен, так как вам нужно будет отредактировать этот файл позже, поэтому запишите его.

Представление функций Python в Excel

Чтобы представить функцию Python в Excel как определяемую пользователем функцию (UDF), используйте команду @xl_func декоратор. Этот декоратор инструктирует PyXLL зарегистрировать функцию в Excel, сделав ее доступной для пользователей.

Например, чтобы раскрыть Python Фибоначчи() в Excel как UDF, вы можете использовать @xl_func декоратор следующим образом:

 from pyxll import xl_func 

@xl_func
def fibonacci(n):
  """
  This is a Python function that calculates the Fibonacci sequence.
  """
  if n < 0:
    raise ValueError("n must be non-negative")
  elif n == 0 or n == 1:
    return n
  else:
    return fibonacci(n - 1) + fibonacci(n - 2)

Сохраните этот код с расширением .py и запишите путь к папке, в которой вы сохраняете файл.

Теперь откройте файл конфигурации PyXLL в редакторе и прокрутите вниз до строки, начинающейся с «pythonpath». Обычно этот параметр представляет собой список папок, в которых PyXLL будет искать модули Python. Добавьте путь к папке, содержащей исходный код функции Фибоначчи.

  Список папок PyXLL pythonpath

Затем прокрутите вниз до «модулей» и добавьте свой модуль. Например, если вы сохранили файл как fibonacci.py , добавьте имя 'фибоначчи' в список:

  Список модулей файла конфигурации PyXLL

Это откроет функции модуля, которые используют @xl_func декоратор в Excel. Затем вернитесь в Excel и в Вкладка «Пример PyXLL» , нажать на Перезагрузить PyXLL Кнопка для синхронизации изменений в файле конфигурации. Затем вы можете вызвать Python Фибоначчи функционировать так же, как и любая другая формула Excel.

  Функции Python в Excel

Вы можете создать столько функций, сколько вам нужно, и таким же образом представить их в Excel.

Передача данных между Excel и Python

PyXLL поддерживает использование внешних библиотек Python, таких как Pandas. Он позволяет передавать данные из этих библиотек в Python и наоборот. Например, вы можете используйте Pandas для создания случайного кадра данных и передать его в Excel. Убедитесь, что Pandas установлен в вашей системе, а затем попробуйте этот код:

 from pyxll import xl_func 
import pandas as pd
import numpy as np

@xl_func("int rows, int columns: dataframe<index=True>", auto_resize=True)
def random_dataframe(rows, columns):
   data = np.random.rand(rows, columns)
   column_names = [chr(ord('A') + x) for x in range(columns)]
   return pd.DataFrame(data, columns=column_names)

Вам следует выполнить тот же процесс, чтобы предоставить Excel этот модуль и его функции. Затем попробуйте позвонить в случайный_кадр данных функционируйте так же, как и другая формула Excel:

 =random_dataframe(10,5)

Вы можете изменить количество строк и столбцов по своему усмотрению.

  Кадр данных в Excel, созданный Pandas через PyXLL

Таким же образом вы можете передать предопределенные фреймы данных в Excel. Также возможно импортируйте данные Excel в скрипт Python с помощью Pandas .

Ограничения PyXLL

  • Совместимость с Windows и Excel: PyXLL в первую очередь разработан для Windows и работает с Microsoft Excel в Windows. Он может иметь ограниченную функциональность или проблемы совместимости на платформах, отличных от Windows, поскольку он оптимизирован для сред Windows.
  • Развертывание. Для развертывания электронных таблиц на базе PyXLL конечным пользователям требуется, чтобы у них был установлен Python с минимальными зависимостями или среда выполнения Python, включенная в электронную таблицу. Это означает, что пользователям, которые хотят использовать электронные таблицы на базе PyXLL, на своих компьютерах должен быть установлен Python.
  • Кривая обучения: эффективное использование PyXLL требует некоторых знаний программирования на Python и знакомства с объектной моделью Excel. Пользователям, которые не знакомы с объектной моделью Python или Excel, возможно, придется потратить время на изучение этих концепций, прежде чем в полной мере использовать возможности PyXLL.
  • Стоимость лицензии: PyXLL — это коммерческий продукт, и в зависимости от вашего использования и требований с его использованием могут возникнуть расходы на лицензирование. Стоимость использования PyXLL зависит от таких факторов, как количество пользователей, масштаб развертывания и лицензионные соглашения.

Стоит ли вам по-прежнему использовать функции Excel?

Это зависит от того, чего вы хотите достичь. Всегда имеет смысл использовать встроенные функции Excel, когда они доступны. Но для более сложных задач, с которыми не могут справиться встроенные функции Excel, PyXLL является отличным решением.

как сделать изображение с прозрачным фоном

Библиотека Pandas является идеальным дополнением к PyXLL благодаря своим аналитическим возможностям и мощной поддержке обработки данных.