Com integrar perfectament Python a Excel mitjançant PyXLL

Com integrar perfectament Python a Excel mitjançant PyXLL
Lectors com tu ajuden a donar suport a MUO. Quan feu una compra mitjançant enllaços al nostre lloc, podem guanyar una comissió d'afiliats. Llegeix més.

PyXLL és una eina que uneix la bretxa entre Microsoft Excel i Python. Us permet integrar perfectament el codi i la funcionalitat de Python als fulls de càlcul d'Excel. Amb PyXLL, Excel es converteix en una plataforma per aprofitar les biblioteques i les capacitats de Python.





PyXLL serveix com a complement d'Excel. Podeu utilitzar-lo per escriure funcions i macros de Python directament a l'entorn VBA d'Excel. PyXLL actua com a intèrpret i executa el codi dins de les cel·les d'Excel, obrint moltes possibilitats. Alguns d'ells inclouen l'automatització de tasques complexes, l'anàlisi avançada de dades i la visualització de dades.





Una visió general de PyXLL

PyXLL funciona executant un intèrpret de Python dins del procés d'Excel. Això proporciona al vostre codi Python, que s'executa a PyXLL, accés directe a dades i objectes d'Excel. L'eina està escrita en C++ i utilitza la mateixa tecnologia subjacent que Excel. Això vol dir que el codi Python que s'executa a PyXLL sol ser molt més ràpid que Codi Excel VBA .





com es pot trobar el títol d'un vídeo de YouTube suprimit

Instal·lació i Configuració

Per instal·lar PyXLL, aneu a Lloc web de PyXLL i descarregueu el complement. Assegureu-vos que la versió de Python i la versió d'Excel que trieu coincideixen amb les instal·lades al vostre sistema. PyXLL només està disponible per a la versió d'Excel de Windows.

  Pàgina de descàrrega de PyXLL

Quan s'hagi completat la descàrrega, obriu un indicador d'ordres i executeu aquesta ordre:



 pip install pyxll

Tu necessites tens Pip instal·lat al teu sistema perquè s'executi l'ordre anterior. A continuació, utilitzeu el paquet PyXLL per instal·lar el complement PyXLL:

 pyxll install 

L'instal·lador us preguntarà si heu descarregat el complement. Introduïu sí i, a continuació, proporcioneu la ruta al fitxer zip que conté el complement. A continuació, seguiu les instruccions a la pantalla per completar la instal·lació.





Com començar amb PyXLL

Un cop instal·lat el connector, inicieu Excel. Abans que s'iniciï, apareixerà un missatge que us demanarà que ho feu Inicia la prova o Compra ara . La versió de prova caducarà al cap de trenta dies i llavors haureu de comprar una llicència per continuar utilitzant PyXLL.

  Sol·licitud de versió de PyXLL

Feu clic a Inicia la prova botó. Això iniciarà Excel amb el complement instal·lat.





A la Pestanya d'exemple de PyXLL , feu clic a Sobre PyXLL botó. Això us mostrarà el camí en què heu instal·lat el complement, juntament amb els camins als fitxers de configuració i registre.

  PyXLL sobre el missatge a Excel

El camí que conté el fitxer de configuració és important, ja que l'haureu d'editar més endavant, així que anoteu-lo.

Exposició de les funcions de Python a Excel

Per exposar una funció de Python a Excel com a funció definida per l'usuari (UDF), utilitzeu el @xl_func decorador. Aquest decorador indica a PyXLL que registri la funció amb Excel, posant-la a disposició dels usuaris.

Per exemple, per exposar un Python Fibonacci () funcionar a Excel com a UDF, podeu utilitzar el @xl_func decorador de la següent manera:

 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)

Deseu aquest codi amb una extensió .py i preneu nota de la ruta de la carpeta on deseu el fitxer.

Ara, obriu el fitxer de configuració PyXLL en un editor i desplaceu-vos cap avall fins a una línia que comença 'pythonpath'. Aquesta configuració sol ser una llista de carpetes que PyXLL cercarà mòduls de Python. Afegiu el camí a la carpeta que conté el codi font de la funció de Fibonacci.

  Llista de carpetes pythonpath de PyXLL

A continuació, desplaceu-vos cap avall fins a 'mòduls' i afegiu el vostre mòdul. Per exemple, si heu desat el fitxer com a fibonacci.py , afegeix el nom 'fibonacci' a la llista:

capgirar vídeo al reproductor de Windows Media
  Llista de mòduls del fitxer de configuració PyXLL

Això exposarà les funcions del mòdul que utilitzen el @xl_func decorador a Excel. A continuació, torneu a Excel i, al Pestanya d'exemple de PyXLL , feu clic a Torna a carregar PyXLL botó per sincronitzar els canvis al fitxer de configuració. A continuació, podeu trucar a Python Fibonacci funcionar com qualsevol altra fórmula d'Excel.

quants diners guanyen els artistes amb spotify
  Funcions de Python a Excel

Podeu crear tantes funcions com necessiteu i exposar-les a Excel de la mateixa manera.

Passant dades entre Excel i Python

PyXLL admet l'ús de biblioteques externes de Python, com Pandas. Us permet passar dades d'aquestes biblioteques a Python i viceversa. Per exemple, pots utilitza Pandas per crear un marc de dades aleatori i passa-ho a Excel. Assegureu-vos que Pandas estigui instal·lat al vostre sistema i, a continuació, proveu aquest codi:

 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)

Hauríeu de seguir el mateix procés per exposar aquest mòdul i les seves funcions a Excel. Llavors prova de trucar al marc_de_dades_aleatoris funcioni com ho faria amb una altra fórmula d'Excel:

 =random_dataframe(10,5)

Podeu canviar el nombre de files i columnes com vulgueu.

  Dataframe en Excel generat per Pandas mitjançant PyXLL

Podeu passar els vostres marcs de dades predefinits a Excel de la mateixa manera. També és possible importar dades d'Excel a l'script de Python mitjançant Pandas .

Limitacions de PyXLL

  • Compatibilitat amb Windows i Excel: PyXLL està dissenyat principalment per a Windows i funciona amb Microsoft Excel a Windows. Pot tenir problemes de funcionalitat o compatibilitat limitades en plataformes que no són de Windows, ja que està optimitzat per a entorns Windows.
  • Desplegament: el desplegament de fulls de càlcul basats en PyXLL als usuaris finals requereix que tinguin Python instal·lat amb dependències mínimes o el temps d'execució de Python inclòs amb el full de càlcul. Això vol dir que els usuaris que volen utilitzar fulls de càlcul basats en PyXLL han de tenir Python instal·lat a les seves màquines.
  • Corba d'aprenentatge: utilitzar PyXLL de manera eficaç requereix un cert coneixement de programació de Python i familiaritat amb el model d'objectes d'Excel. És possible que els usuaris que no estiguin familiaritzats amb Python o el model d'objectes d'Excel hagin d'invertir temps en aprendre aquests conceptes abans d'utilitzar plenament les capacitats de PyXLL.
  • Cost de la llicència: PyXLL és un producte comercial i, depenent del vostre ús i requisits, pot haver-hi costos de llicència associats amb el seu ús. El cost d'utilitzar PyXLL depèn de factors com ara el nombre d'usuaris, l'escala de desplegament i els acords de llicència.

Encara hauríeu d'utilitzar les funcions d'Excel?

Depèn del que vulguis aconseguir. Sempre té sentit utilitzar funcions natives d'Excel quan estiguin disponibles. Però, per a tasques més complexes, que les funcions integrades d'Excel no poden gestionar, PyXLL és una solució excel·lent.

La biblioteca Pandas és un complement perfecte per a PyXLL amb les seves capacitats analítiques i un fort suport per al processament de dades.