Cum să integrați perfect Python în Excel folosind PyXLL

Cum să integrați perfect Python în Excel folosind PyXLL
Cititorii ca tine ajută la sprijinirea MUO. Când efectuați o achiziție folosind link-uri de pe site-ul nostru, este posibil să câștigăm un comision de afiliat. Citeşte mai mult.

PyXLL este un instrument care face o punte între Microsoft Excel și Python. Vă permite să integrați fără probleme codul și funcționalitatea Python în foile de calcul Excel. Cu PyXLL, Excel devine o platformă pentru valorificarea bibliotecilor și capabilităților Python.





PyXLL servește ca un program de completare Excel. Îl puteți folosi pentru a scrie funcții și macrocomenzi Python direct în mediul VBA Excel. PyXLL acționează apoi ca interpret și rulează codul în celulele Excel, deschizând multe posibilități. Unele dintre acestea includ automatizarea sarcinilor complexe, analiza avansată a datelor și vizualizarea datelor.





O prezentare generală a PyXLL

PyXLL funcționează prin rularea unui interpret Python în cadrul procesului Excel. Acest lucru oferă codului dvs. Python, care rulează în PyXLL, acces direct la datele și obiectele Excel. Instrumentul este scris în C++ și folosește aceeași tehnologie de bază ca Excel. Aceasta înseamnă că codul Python care rulează în PyXLL este de obicei mult mai rapid decât Cod VBA Excel .





Instalare și configurare

Pentru a instala PyXLL, mergeți la Site-ul web PyXLL și descărcați suplimentul. Asigurați-vă că versiunea Python și versiunea Excel pe care o alegeți se potrivesc cu cele instalate în sistemul dvs. PyXLL este disponibil numai pentru versiunea Windows a Excel.

  Pagina de descărcare PyXLL

Când descărcarea este completă, deschideți un prompt de comandă și executați această comandă:



 pip install pyxll

Trebuie să aveți Pip instalat în sistemul dvs pentru ca comanda de mai sus să ruleze. Apoi utilizați pachetul PyXLL pentru a instala programul de completare PyXLL:

 pyxll install 

Programul de instalare vă va întreba dacă ați descărcat suplimentul. Introduceți da și apoi furnizați calea către fișierul zip care conține programul de completare. Apoi urmați instrucțiunile de pe ecran pentru a finaliza instalarea.





Noțiuni introductive cu PyXLL

După ce ați instalat pluginul, lansați Excel. Înainte de lansare, va apărea o solicitare care vă va cere să faceți acest lucru Începeți procesul sau Cumpără acum . Versiunea de încercare va expira după treizeci de zile și apoi va trebui să achiziționați o licență pentru a continua să utilizați PyXLL.

  Prompt pentru versiunea PyXLL

Faceți clic pe Începeți procesul buton. Aceasta va lansa Excel cu programul de completare instalat.





Pe Fila Exemplu PyXLL , faceți clic pe Despre PyXLL buton. Aceasta vă va afișa calea în care ați instalat programul de completare, împreună cu căile către fișierele de configurare și jurnal.

  PyXLL despre prompt în Excel

Calea care conține fișierul de configurare este importantă, deoarece va trebui să editați acel fișier mai târziu, așa că notați-l.

Expunerea funcțiilor Python la Excel

Pentru a expune o funcție Python la Excel ca o funcție definită de utilizator (UDF), utilizați @xl_func decorator. Acest decorator instruiește PyXLL să înregistreze funcția cu Excel, punându-l la dispoziție utilizatorilor.

De exemplu, pentru a expune un Python Fibonacci() funcţionează în Excel ca UDF, puteţi utiliza @xl_func decorator după cum urmează:

 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)

Salvați acest cod cu o extensie .py și luați notă de calea folderului în care salvați fișierul.

Acum, deschideți fișierul de configurare PyXLL într-un editor și derulați în jos până la o linie care începe cu „pythonpath”. Această setare este de obicei o listă de foldere pe care PyXLL le va căuta modulele Python. Adăugați calea către folderul care conține codul sursă al funcției Fibonacci.

  Lista de foldere PyXLL pythonpath

Apoi derulați în jos la „module” și adăugați modulul. De exemplu, dacă ați salvat fișierul ca Fibonacci.py , adăugați numele 'fibonacci' la lista:

cum să descărcați muzică gratuit
  Lista modulelor fișierelor de configurare PyXLL

Acest lucru va expune funcțiile modulului care utilizează @xl_func decorator la Excel. Apoi reveniți la Excel și, pe Fila Exemplu PyXLL , faceți clic pe Reîncărcați PyXLL butonul pentru sincronizarea modificărilor din fișierul de configurare. Apoi puteți apela Python Fibonacci funcționează ca orice altă formulă Excel.

  Funcțiile Python în Excel

Puteți crea câte funcții aveți nevoie și le puteți expune în Excel în același mod.

Transmiterea datelor între Excel și Python

PyXLL acceptă utilizarea bibliotecilor externe Python, cum ar fi Pandas. Vă permite să transmiteți date din aceste biblioteci către Python și invers. De exemplu, poți utilizați Pandas pentru a crea un cadru de date aleatoriu și transmiteți-l în Excel. Asigurați-vă că Pandas este instalat în sistemul dvs., apoi încercați acest cod:

 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)

Ar trebui să urmați același proces pentru a expune acest modul și funcțiile sale în Excel. Apoi încercați să sunați la random_dataframe functioneaza ca si alte formule Excel:

 =random_dataframe(10,5)

Puteți modifica numărul de rânduri și coloane după cum doriți.

  Cadrul de date în Excel generat de Pandas prin PyXLL

Puteți trece cadrele de date predefinite la Excel în același mod. De asemenea, este posibil să importați date Excel în scriptul Python folosind Pandas .

Limitările PyXLL

  • Compatibilitate Windows și Excel: PyXLL este conceput în primul rând pentru Windows și funcționează cu Microsoft Excel pe Windows. Poate avea probleme limitate de funcționalitate sau compatibilitate pe platformele non-Windows, deoarece este optimizat pentru mediile Windows.
  • Implementare: Implementarea foilor de calcul alimentate cu PyXLL către utilizatorii finali necesită ca aceștia să aibă instalat Python cu dependențe minime sau runtime-ul Python împreună cu foaia de calcul. Aceasta înseamnă că utilizatorii care doresc să folosească foi de calcul alimentate cu PyXLL trebuie să aibă Python instalat pe computerele lor.
  • Curba de învățare: Utilizarea eficientă a PyXLL necesită anumite cunoștințe despre programarea Python și familiaritatea cu modelul de obiecte Excel. Utilizatorii care nu sunt familiarizați cu modelul obiect Python sau Excel ar putea avea nevoie să investească timp în învățarea acestor concepte înainte de a utiliza pe deplin capacitățile PyXLL.
  • Costul licenței: PyXLL este un produs comercial și, în funcție de utilizarea și cerințele dvs., pot exista costuri de licență asociate cu utilizarea acestuia. Costul utilizării PyXLL depinde de factori precum numărul de utilizatori, scala de implementare și acordurile de licență.

Ar trebui să mai folosiți funcțiile Excel?

Depinde de ceea ce vrei să realizezi. Este întotdeauna logic să folosiți funcții native Excel atunci când sunt disponibile. Dar, pentru sarcini mai complexe, pe care funcțiile încorporate ale Excel nu le pot gestiona, PyXLL este o soluție excelentă.

Biblioteca Pandas este o completare perfectă pentru PyXLL cu capacitățile sale de analiză și suport puternic pentru procesarea datelor.