Как безпроблемно да интегрирате Python в Excel с помощта на PyXLL

Как безпроблемно да интегрирате Python в Excel с помощта на PyXLL
Читатели като вас помагат в подкрепа на MUO. Когато правите покупка чрез връзки на нашия сайт, ние може да спечелим партньорска комисионна. Прочетете още.

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 е наличен само за Windows версията на Excel.

  Страница за изтегляне на PyXLL

Когато изтеглянето приключи, отворете командния ред и изпълнете тази команда:



 pip install pyxll

Ти трябва да имате Pip инсталиран във вашата система за да се изпълни горната команда. След това използвайте пакета PyXLL, за да инсталирате добавката PyXLL:

 pyxll install 

Инсталаторът ще ви попита дали сте изтеглили добавката. Въведете да и след това предоставете пътя до zip файла, съдържащ добавката. След това следвайте инструкциите на екрана, за да завършите инсталацията.





Първи стъпки с PyXLL

След като инсталирате приставката, стартирайте Excel. Преди да се стартира, ще се появи подкана с молба да го направите Започне съдебен процес или Купи сега . Пробната версия ще изтече след тридесет дни и тогава ще трябва да закупите лиценз, за ​​да продължите да използвате PyXLL.

как да намеря ip адрес на принтерите си
  Подкана за версия на 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. След това опитайте да се обадите на random_dataframe функционира като друга формула на Excel:

 =random_dataframe(10,5)

Можете да промените броя на редовете и колоните, както желаете.

  Dataframe в 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 със своите аналитични възможности и силна поддръжка за обработка на данни.

предните usb портове не работят windows 10