Kuinka integroida Python saumattomasti Exceliin PyXLL:n avulla

Kuinka integroida Python saumattomasti Exceliin PyXLL:n avulla
Kaltaisesi lukijat auttavat tukemaan MUO:ta. Kun teet ostoksen käyttämällä sivustollamme olevia linkkejä, voimme ansaita kumppanipalkkion. Lue lisää.

PyXLL on työkalu, joka kattaa Microsoft Excelin ja Pythonin välisen kuilun. Sen avulla voit integroida Python-koodia ja toimintoja saumattomasti Excel-laskentataulukoihin. PyXLL:n avulla Excelistä tulee alusta Pythonin kirjastojen ja ominaisuuksien hyödyntämiselle.





PyXLL toimii Excel-apuohjelmana. Sen avulla voit kirjoittaa Python-funktioita ja makroja suoraan Excelin VBA-ympäristössä. PyXLL toimii sitten tulkkina ja suorittaa koodin Excelin soluissa, mikä avaa monia mahdollisuuksia. Jotkut näistä sisältävät monimutkaisten tehtävien automatisoinnin, edistyneen data-analyysin ja tietojen visualisoinnin.





muoto usb -aseman varausyksikön koko

Yleiskatsaus PyXLL:stä

PyXLL toimii suorittamalla Python-tulkkia Excel-prosessissa. Tämä antaa PyXLL:ssä toimivalle Python-koodillesi suoran pääsyn Excel-tietoihin ja objekteihin. Työkalu on kirjoitettu C++-kielellä ja se käyttää samaa taustalla olevaa tekniikkaa kuin Excel. Tämä tarkoittaa, että PyXLL:ssä toimiva Python-koodi on tyypillisesti paljon nopeampi kuin Excel VBA koodi .





Asennus ja asetukset

Asenna PyXLL siirtymällä kohtaan PyXLL-verkkosivusto ja lataa lisäosa. Varmista, että valitsemasi Python-versio ja Excel-versio vastaavat järjestelmääsi asennettuja. PyXLL on saatavilla vain Excelin Windows-versiolle.

  PyXLL lataussivu

Kun lataus on valmis, avaa komentokehote ja suorita tämä komento:



 pip install pyxll

Sinun täytyy Pip on asennettu järjestelmääsi jotta yllä oleva komento suoritetaan. Asenna sitten PyXLL-apuohjelma PyXLL-paketilla:

 pyxll install 

Asennusohjelma kysyy, oletko ladannut lisäosan. Kirjoita yes ja anna sitten polku apuohjelman sisältävään zip-tiedostoon. Suorita asennus loppuun noudattamalla näytön ohjeita.





PyXLL:n käytön aloittaminen

Kun olet asentanut laajennuksen, käynnistä Excel. Ennen kuin se käynnistyy, näyttöön tulee kehote, joka pyytää sinua Aloita kokeilujakso tai Osta nyt . Kokeiluversio vanhenee 30 päivän kuluttua, ja sinun on sitten ostettava lisenssi jatkaaksesi PyXLL:n käyttöä.

  PyXLL-version kehote

Klikkaa Aloita kokeilujakso -painiketta. Tämä käynnistää Excelin asennetun apuohjelman kanssa.





Käytössä PyXLL-esimerkkivälilehti , Klikkaa Tietoja PyXLL:stä -painiketta. Tämä näyttää polun, johon asensit apuohjelman, sekä polut määritys- ja lokitiedostoihin.

  PyXLL kehotteesta Excelissä

Asetustiedoston sisältävä polku on tärkeä, koska joudut muokkaamaan tiedostoa myöhemmin, joten merkitse se muistiin.

Python-funktioiden paljastaminen Excelissä

Voit paljastaa Python-funktion Excelissä käyttäjän määrittämänä funktiona (UDF) käyttämällä @xl_func sisustusarkkitehti. Tämä sisustaja käskee PyXLL:ää rekisteröimään toiminnon Exceliin, jolloin se on käyttäjien käytettävissä.

Esimerkiksi Pythonin paljastamiseksi fibonacci () -funktion Exceliin UDF-tiedostona, voit käyttää @xl_func sisustaja seuraavasti:

 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)

Tallenna tämä koodi .py-tunnisteella ja merkitse muistiin sen kansion polku, johon tallennat tiedoston.

kuinka saada lisää video -ram

Avaa nyt PyXLL-määritystiedosto editorissa ja vieritä alas riville, joka alkaa 'pythonpath'. Tämä asetus on yleensä luettelo kansioista, joista PyXLL etsii Python-moduuleja. Lisää polku kansioon, joka sisältää Fibonacci-funktion lähdekoodin.

  PyXLL pythonpath -kansioluettelo

Vieritä sitten alas kohtaan 'moduulit' ja lisää moduulisi. Jos esimerkiksi tallensit tiedostosi nimellä fibonacci.py , lisää nimi 'fibonacci' listalle:

  PyXLL-määritystiedostomoduulien luettelo

Tämä paljastaa moduulitoiminnot, jotka käyttävät @xl_func sisustaja Exceliin. Palaa sitten Exceliin ja PyXLL-esimerkkivälilehti , Klikkaa Lataa PyXLL uudelleen -painiketta synkronoitavan määritystiedoston muutokset. Voit sitten kutsua Pythonin fibonacci toimii kuten mikä tahansa muu Excel-kaava.

  Python toimii Excelissä

Voit luoda niin monta funktiota kuin tarvitset ja paljastaa ne Excelissä samalla tavalla.

Tietojen välittäminen Excelin ja Pythonin välillä

PyXLL tukee ulkoisten Python-kirjastojen, kuten Pandas, käyttöä. Sen avulla voit siirtää tietoja näistä kirjastoista Pythonille ja päinvastoin. Voit esimerkiksi käytä Pandasta satunnaisen tietokehyksen luomiseen ja välitä se Exceliin. Varmista, että Pandas on asennettu järjestelmääsi, ja kokeile sitten tätä koodia:

 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)

Sinun tulee noudattaa samaa prosessia paljastaaksesi tämän moduulin ja sen toiminnot Excelille. Yritä sitten soittaa random_dataframe toimii kuten muutkin Excel-kaavat:

 =random_dataframe(10,5)

Voit muuttaa rivien ja sarakkeiden määrää haluamallasi tavalla.

  Tietokehys Excelissä, jonka Pandas on luonut PyXLL:n kautta

Voit välittää ennalta määritetyt tietokehyksesi Exceliin samalla tavalla. On myös mahdollista tuo Excel-tiedot Python-skriptiin Pandasin avulla .

PyXLL:n rajoitukset

  • Windowsin ja Excelin yhteensopivuus: PyXLL on ensisijaisesti suunniteltu Windowsille ja toimii Microsoft Excelin kanssa Windowsissa. Sillä voi olla rajoitettuja toimintoja tai yhteensopivuusongelmia muissa kuin Windows-alustoissa, koska se on optimoitu Windows-ympäristöille.
  • Käyttöönotto: PyXLL-pohjaisten laskentataulukoiden käyttöönotto loppukäyttäjille edellyttää Pythonin asennettuna mahdollisimman vähäisin riippuvuuksin tai Python-ajonaikaisen laskentataulukon mukana. Tämä tarkoittaa, että käyttäjillä, jotka haluavat käyttää PyXLL-pohjaisia ​​laskentataulukoita, on oltava Python asennettuna koneisiinsa.
  • Oppimiskäyrä: PyXLL:n tehokas käyttäminen edellyttää Python-ohjelmoinnin tuntemusta ja Excelin objektimallin tuntemusta. Käyttäjät, jotka eivät tunne Pythonin tai Excelin objektimallia, saattavat joutua käyttämään aikaa näiden käsitteiden oppimiseen ennen PyXLL:n ominaisuuksien täysimääräistä hyödyntämistä.
  • Lisenssikustannukset: PyXLL on kaupallinen tuote, ja riippuen käytöstäsi ja vaatimuksistasi, sen käyttöön saattaa liittyä lisenssikuluja. PyXLL:n käyttökustannukset riippuvat tekijöistä, kuten käyttäjien määrästä, käyttöönoton laajuudesta ja lisenssisopimuksista.

Pitäisikö sinun silti käyttää Excel-funktioita?

Se riippuu siitä, mitä haluat saavuttaa. On aina järkevää käyttää alkuperäisiä Excel-funktioita, kun niitä on saatavilla. Mutta monimutkaisempiin tehtäviin, joita Excelin sisäänrakennetut toiminnot eivät pysty käsittelemään, PyXLL on erinomainen ratkaisu.

Pandas-kirjasto täydentää täydellisesti PyXLL:ää sen analyyttisten ominaisuuksien ja vahvan tiedonkäsittelyn tuen ansiosta.