Ako hladko integrovať Python do Excelu pomocou PyXLL

Ako hladko integrovať Python do Excelu pomocou PyXLL
Čitatelia ako vy pomáhajú podporovať MUO. Keď uskutočníte nákup pomocou odkazov na našej stránke, môžeme získať pridruženú províziu. Čítaj viac.

PyXLL je nástroj, ktorý premosťuje priepasť medzi Microsoft Excel a Pythonom. Umožňuje vám bezproblémovo integrovať kód a funkcie Pythonu do tabuliek Excelu. S PyXLL sa Excel stáva platformou na využitie knižníc a možností Pythonu.





PyXLL slúži ako doplnok programu Excel. Môžete ho použiť na písanie funkcií a makier Pythonu priamo v prostredí VBA programu Excel. PyXLL potom funguje ako tlmočník a spúšťa kód v bunkách Excelu, čím otvára mnoho možností. Niektoré z nich zahŕňajú automatizáciu zložitých úloh, pokročilú analýzu údajov a vizualizáciu údajov.





https // www.windows.com/stopcode

Prehľad PyXLL

PyXLL funguje tak, že v rámci procesu Excel spustí interpret Pythonu. To dáva vášmu kódu Python, ktorý beží v PyXLL, priamy prístup k údajom a objektom Excelu. Nástroj je napísaný v C++ a používa rovnakú základnú technológiu ako Excel. To znamená, že kód Python spustený v PyXLL je zvyčajne oveľa rýchlejší ako Excel VBA kód .





Inštalácia a nastavenie

Ak chcete nainštalovať PyXLL, prejdite na stránku Webová stránka PyXLL a stiahnite si doplnok. Uistite sa, že verzia Pythonu a verzia Excelu, ktorú si vyberiete, zodpovedajú verziám nainštalovaným vo vašom systéme. PyXLL je k dispozícii len pre Windows verziu Excelu.

  Stránka na stiahnutie PyXLL

Po dokončení sťahovania otvorte príkazový riadok a spustite tento príkaz:



 pip install pyxll

Musíte mať vo svojom systéme nainštalovaný Pip na spustenie vyššie uvedeného príkazu. Potom použite balík PyXLL na inštaláciu doplnku PyXLL:

 pyxll install 

Inštalátor sa vás opýta, či ste si stiahli doplnok. Zadajte áno a potom zadajte cestu k súboru zip obsahujúcemu doplnok. Potom dokončite inštaláciu podľa pokynov na obrazovke.





Začíname s PyXLL

Po nainštalovaní doplnku spustite Excel. Pred spustením sa zobrazí výzva, ktorá vás o to požiada Spustiť skúšku alebo Kúpte teraz . Skúšobná verzia vyprší po tridsiatich dňoch a potom si budete musieť zakúpiť licenciu, aby ste mohli pokračovať v používaní PyXLL.

  Výzva k verzii PyXLL

Klikni na Spustiť skúšku tlačidlo. Tým sa spustí Excel s nainštalovaným doplnkom.





Na Príklad PyXLL Tab , klikni na O PyXLL tlačidlo. Zobrazí sa vám cesta, do ktorej ste nainštalovali doplnok, spolu s cestami ku konfiguračným a protokolovým súborom.

  PyXLL o výzve v Exceli

Cesta obsahujúca konfiguračný súbor je dôležitá, pretože tento súbor budete musieť neskôr upraviť, takže si ho poznačte.

Vystavenie funkcií Pythonu Excelu

Ak chcete sprístupniť funkciu Pythonu v Exceli ako používateľom definovanú funkciu (UDF), použite @xl_func dekoratér. Tento dekorátor inštruuje PyXLL na registráciu funkcie v Exceli, čím ju sprístupní používateľom.

Napríklad na odhalenie Pythonu Fibonacci() do Excelu ako UDF, môžete použiť @xl_func dekoratér takto:

 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)

Uložte tento kód s príponou .py a poznačte si cestu k priečinku, do ktorého súbor uložíte.

Teraz otvorte konfiguračný súbor PyXLL v editore a prejdite nadol na riadok začínajúci „pythonpath“. Toto nastavenie je zvyčajne zoznam priečinkov, v ktorých bude PyXLL hľadať moduly Pythonu. Pridajte cestu k priečinku, ktorý obsahuje zdrojový kód Fibonacciho funkcie.

koľko GB pre Windows 10
  Zoznam priečinkov PyXLL pythonpath

Potom prejdite nadol na „moduly“ a pridajte svoj modul. Napríklad, ak ste súbor uložili ako Fibonacci.py , pridajte meno 'Fibonacci' do zoznamu:

  Zoznam modulov konfiguračného súboru PyXLL

Tým sa odhalia funkcie modulu, ktoré používajú @xl_func dekoratér do Excelu. Potom sa vráťte do Excelu a na Príklad PyXLL Tab , klikni na Znova načítať PyXLL pre synchronizáciu zmien v konfiguračnom súbore. Potom môžete zavolať Python fibonacciho fungovať ako ktorýkoľvek iný vzorec Excel.

mám použiť hardvérovú akceleráciu v chrome
  Funkcie Pythonu v Exceli

Môžete vytvoriť toľko funkcií, koľko potrebujete, a vystaviť ich Excelu rovnakým spôsobom.

Prenos údajov medzi Excelom a Pythonom

PyXLL podporuje používanie externých knižníc Pythonu, ako sú Pandy. Umožňuje vám odovzdať údaje z týchto knižníc do Pythonu a naopak. Napríklad môžete použite Pandy na vytvorenie náhodného dátového rámca a odovzdať ho do Excelu. Uistite sa, že Pandas je nainštalovaný vo vašom systéme, a potom vyskúšajte tento kód:

 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)

Rovnakým postupom by ste mali vystaviť tento modul a jeho funkcie Excelu. Potom skúste zavolať na random_dataframe fungovať ako iný vzorec Excel:

 =random_dataframe(10,5)

Počet riadkov a stĺpcov môžete ľubovoľne meniť.

  Dátový rámec v Exceli generovaný Pandas cez PyXLL

Rovnakým spôsobom môžete odovzdať svoje preddefinované dátové rámce do Excelu. Je tiež možné importovať údaje Excelu do skriptu Python pomocou Pandas .

Obmedzenia PyXLL

  • Kompatibilita Windows a Excel: PyXLL je primárne navrhnutý pre Windows a pracuje s Microsoft Excel na Windows. Môže mať obmedzené funkcie alebo problémy s kompatibilitou na platformách iných ako Windows, keďže je optimalizovaný pre prostredia Windows.
  • Nasadenie: Nasadenie tabuliek s podporou PyXLL pre koncových používateľov vyžaduje, aby mali nainštalovaný Python s minimálnymi závislosťami alebo runtime Pythonu pribalené k tabuľke. To znamená, že používatelia, ktorí chcú používať tabuľky s podporou PyXLL, musia mať na svojich počítačoch nainštalovaný Python.
  • Učebná krivka: Efektívne používanie PyXLL si vyžaduje určité znalosti programovania v jazyku Python a znalosť objektového modelu Excelu. Používatelia, ktorí nie sú oboznámení s objektovým modelom Pythonu alebo Excelu, možno budú musieť investovať čas do učenia sa týchto konceptov pred úplným využitím možností PyXLL.
  • Cena licencie: PyXLL je komerčný produkt a v závislosti od vášho použitia a požiadaviek môžu byť s jeho používaním spojené licenčné náklady. Náklady na používanie PyXLL závisia od faktorov, ako je počet používateľov, rozsah nasadenia a licenčné zmluvy.

Mali by ste stále používať funkcie programu Excel?

Záleží na tom, čo chcete dosiahnuť. Vždy má zmysel používať natívne funkcie Excelu, keď sú dostupné. Ale pre zložitejšie úlohy, ktoré vstavané funkcie Excelu nedokážu zvládnuť, je PyXLL vynikajúcim riešením.

Knižnica Pandas je dokonalým doplnkom pre PyXLL so svojimi analytickými schopnosťami a silnou podporou spracovania údajov.