Kako nemoteno integrirati Python v Excel s pomočjo PyXLL

Kako nemoteno integrirati Python v Excel s pomočjo PyXLL
Bralci, kot ste vi, pomagajo podpirati MUO. Ko opravite nakup prek povezav na našem spletnem mestu, lahko zaslužimo partnersko provizijo. Preberi več.

PyXLL je orodje, ki premosti vrzel med Microsoft Excelom in Pythonom. Omogoča vam brezhibno integracijo kode in funkcionalnosti Python v Excelove preglednice. S PyXLL Excel postane platforma za izkoriščanje knjižnic in zmogljivosti Pythona.





PyXLL služi kot dodatek za Excel. Uporabite ga lahko za pisanje funkcij in makrov Python neposredno v Excelovem okolju VBA. PyXLL nato deluje kot tolmač in izvaja kodo v celicah Excela, kar odpira številne možnosti. Nekatere od teh vključujejo avtomatizacijo kompleksnih nalog, napredno analizo podatkov in vizualizacijo podatkov.





Pregled PyXLL

PyXLL deluje tako, da izvaja tolmač Python znotraj procesa Excel. To daje vaši kodi Python, ki se izvaja v PyXLL, neposreden dostop do Excelovih podatkov in predmetov. Orodje je napisano v C++ in uporablja isto osnovno tehnologijo kot Excel. To pomeni, da je koda Python, ki se izvaja v PyXLL, običajno veliko hitrejša od Excelova koda VBA .





Namestitev in nastavitev

Če želite namestiti PyXLL, pojdite na Spletno mesto PyXLL in prenesite dodatek. Prepričajte se, da se izbrani različici Python in Excel ujemata s tistima, ki sta nameščeni v vašem sistemu. PyXLL je na voljo samo za različico Excela za Windows.

  Stran za prenos PyXLL

Ko je prenos končan, odprite ukazni poziv in zaženite ta ukaz:



 pip install pyxll

Moraš imeti Pip nameščen v vašem sistemu za izvajanje zgornjega ukaza. Nato uporabite paket PyXLL za namestitev dodatka PyXLL:

kako videti shranjeno geslo za wifi na androidu
 pyxll install 

Namestitveni program vas bo vprašal, ali ste prenesli dodatek. Vnesite yes in nato podajte pot do datoteke zip, ki vsebuje dodatek. Nato sledite navodilom na zaslonu, da dokončate namestitev.





Kako začeti s PyXLL

Ko namestite vtičnik, zaženite Excel. Preden se zažene, se prikaže poziv, ki vas bo pozval Začni preizkus oz Kupi zdaj . Preizkusna različica bo potekla po tridesetih dneh in takrat boste morali kupiti licenco za nadaljnjo uporabo PyXLL.

  Poziv za različico PyXLL

Kliknite na Začni preizkus gumb. To bo zagnalo Excel z nameščenim dodatkom.





Na Zavihek Primer PyXLL , kliknite na O PyXLL gumb. To vam bo pokazalo pot, na katero ste namestili dodatek, skupaj s potmi do konfiguracijskih in dnevniških datotek.

  PyXLL o pozivu v Excelu

Pot, ki vsebuje konfiguracijsko datoteko, je pomembna, saj jo boste morali pozneje urediti, zato si jo zabeležite.

Izpostavljanje funkcij Python Excelu

Če želite funkcijo Python izpostaviti Excelu kot uporabniško definirano funkcijo (UDF), uporabite @xl_func dekorater. Ta dekorater naroči PyXLL-u, naj registrira funkcijo v Excelu, tako da je na voljo uporabnikom.

Na primer, izpostaviti Python fibonacci() v Excel kot UDF, lahko uporabite @xl_func dekorater, kot sledi:

Windows 7 traja za vedno, da se zapre
 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)

Shranite to kodo s pripono .py in zabeležite pot do mape, v katero shranite datoteko.

Zdaj odprite konfiguracijsko datoteko PyXLL v urejevalniku in se pomaknite navzdol do vrstice, ki se začne z 'pythonpath'. Ta nastavitev je običajno seznam map, v katerih bo PyXLL iskal module Python. Dodajte pot do mape, ki vsebuje izvorno kodo Fibonaccijeve funkcije.

  Seznam map PyXLL pythonpath

Nato se pomaknite navzdol do 'moduli' in dodajte svoj modul. Na primer, če ste datoteko shranili kot fibonacci.py , dodajte ime 'fibonacci' na seznam:

  Seznam modulov konfiguracijske datoteke PyXLL

To bo razkrilo funkcije modula, ki uporabljajo @xl_func dekorater v Excel. Nato se vrnite v Excel in na Zavihek Primer PyXLL , kliknite na Ponovno naloži PyXLL gumb za sinhronizacijo sprememb v konfiguracijski datoteki. Nato lahko pokličete Python fibonacci deluje kot katera koli druga Excelova formula.

kaj pomeni tbh na facebooku
  Python deluje v Excelu

Ustvarite lahko poljubno število funkcij in jih na enak način izpostavite Excelu.

Posredovanje podatkov med Excelom in Pythonom

PyXLL podpira uporabo zunanjih knjižnic Python, kot je Pandas. Omogoča vam prenos podatkov iz teh knjižnic v Python in obratno. Na primer, lahko uporabite Pande za ustvarjanje naključnega podatkovnega okvira in ga posredujte Excelu. Prepričajte se, da je Panda nameščena v vašem sistemu, nato preizkusite to kodo:

 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)

Sledite istemu postopku, da ta modul in njegove funkcije izpostavite Excelu. Potem poskusite poklicati naključni_podatkovni okvir deluje kot druga Excelova formula:

 =random_dataframe(10,5)

Število vrstic in stolpcev lahko spremenite po želji.

  Podatkovni okvir v Excelu, ki ga ustvari Pandas skozi PyXLL

Svoje vnaprej določene podatkovne okvire lahko posredujete Excelu na enak način. Možno je tudi, da uvozite Excelove podatke v skript Python z uporabo Pandas .

Omejitve PyXLL

  • Združljivost s sistemoma Windows in Excel: PyXLL je zasnovan predvsem za Windows in deluje z Microsoft Excelom v sistemu Windows. Morda ima omejeno funkcionalnost ali težave z združljivostjo na platformah, ki niso Windows, saj je optimiziran za okolja Windows.
  • Uvedba: Uvajanje preglednic, ki jih poganja PyXLL, za končne uporabnike zahteva, da imajo Python nameščen z minimalnimi odvisnostmi ali izvajalno okolje Python, povezano s preglednico. To pomeni, da morajo imeti uporabniki, ki želijo uporabljati preglednice, ki jih poganja PyXLL, na svojih računalnikih nameščen Python.
  • Krivulja učenja: Učinkovita uporaba PyXLL zahteva nekaj znanja o programiranju Python in poznavanje Excelovega objektnega modela. Uporabniki, ki ne poznajo objektnega modela Python ali Excel, bodo morda morali vložiti čas v učenje teh konceptov, preden bodo v celoti izkoristili zmogljivosti PyXLL.
  • Stroški licence: PyXLL je komercialni izdelek in glede na vašo uporabo in zahteve so lahko z njegovo uporabo povezani stroški licenciranja. Stroški uporabe PyXLL so odvisni od dejavnikov, kot so število uporabnikov, obseg uvajanja in licenčne pogodbe.

Ali bi morali še vedno uporabljati Excelove funkcije?

Odvisno od tega, kaj želite doseči. Vedno je smiselno uporabiti izvorne Excelove funkcije, ko so na voljo. Vendar pa je PyXLL odlična rešitev za zahtevnejše naloge, ki jih Excelove vgrajene funkcije ne zmorejo.

Knjižnica Pandas je odlično dopolnilo za PyXLL s svojimi analitičnimi zmogljivostmi in močno podporo za obdelavo podatkov.