Jak hladce integrovat Python do Excelu pomocí PyXLL

Jak hladce integrovat Python do Excelu pomocí PyXLL
Čtenáři jako vy pomáhají podporovat MUO. Když provedete nákup pomocí odkazů na našich stránkách, můžeme získat provizi přidružené společnosti. Přečtěte si více.

PyXLL je nástroj, který překlenuje propast mezi Microsoft Excel a Pythonem. Umožňuje vám bezproblémově integrovat kód a funkce Pythonu do tabulek aplikace Excel. S PyXLL se Excel stává platformou pro využití knihoven a schopností Pythonu.





PyXLL slouží jako doplněk aplikace Excel. Můžete jej použít k psaní funkcí a maker Pythonu přímo v prostředí VBA Excelu. PyXLL pak funguje jako interpret a spouští kód v buňkách Excelu, čímž otevírá mnoho možností. Některé z nich zahrnují automatizaci složitých úkolů, pokročilou analýzu dat a vizualizaci dat.





Přehled PyXLL

PyXLL funguje tak, že v procesu aplikace Excel spustí interpret Pythonu. To dává vašemu kódu Python, běžícímu v PyXLL, přímý přístup k datům a objektům aplikace Excel. Nástroj je napsán v C++ a používá stejnou základní technologii jako Excel. To znamená, že kód Pythonu běžící v PyXLL je obvykle mnohem rychlejší než Excel VBA kód .





Instalace a nastavení

Chcete-li nainstalovat PyXLL, přejděte na Web PyXLL a stáhněte si doplněk. Ujistěte se, že verze Pythonu a verze Excelu, které si vyberete, odpovídají verzím nainstalovaným ve vašem systému. PyXLL je k dispozici pouze pro verzi Excelu pro Windows.

  Stránka ke stažení PyXLL

Po dokončení stahování otevřete příkazový řádek a spusťte tento příkaz:



 pip install pyxll

Musíš mít ve svém systému nainstalovaný Pip pro spuštění výše uvedeného příkazu. Poté použijte balíček PyXLL k instalaci doplňku PyXLL:

 pyxll install 

Instalační program se zeptá, zda jste si stáhli doplněk. Zadejte ano a poté zadejte cestu k souboru zip obsahujícímu doplněk. Poté dokončete instalaci podle pokynů na obrazovce.





Začínáme s PyXLL

Jakmile plugin nainstalujete, spusťte Excel. Před jeho spuštěním se zobrazí výzva s výzvou Spustit zkušební verzi nebo Kup nyní . Zkušební verze vyprší po třiceti dnech a budete si muset zakoupit licenci, abyste mohli PyXLL nadále používat.

jak zjistit, zda jste byli zablokováni na instagramu
  Výzva k verzi PyXLL

Klikněte na Spustit zkušební verzi knoflík. Tím se spustí Excel s nainstalovaným doplňkem.





Na Příklad PyXLL Tab , klikněte na O PyXLL knoflík. Zobrazí se vám cesta, do které jste doplněk nainstalovali, spolu s cestami ke konfiguračním souborům a souborům protokolu.

  PyXLL o výzvě v Excelu

Cesta obsahující konfigurační soubor je důležitá, protože tento soubor budete muset později upravit, takže si ji poznamenejte.

Vystavení funkcí Pythonu Excelu

Chcete-li vystavit funkci Pythonu Excelu jako uživatelsky definovanou funkci (UDF), použijte @xl_func dekoratér. Tento dekoratér instruuje PyXLL, aby funkci zaregistroval do Excelu a zpřístupnil ji uživatelům.

Například k odhalení Pythonu Fibonacci() funkce Excel jako UDF, můžete použít @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 příponou .py a poznamenejte si cestu ke složce, do které soubor ukládáte.

rozdíl mezi počítačovým monitorem a televizí

Nyní otevřete konfigurační soubor PyXLL v editoru a přejděte dolů na řádek začínající „pythonpath“. Toto nastavení je obvykle seznam složek, ve kterých bude PyXLL hledat moduly Pythonu. Přidejte cestu ke složce, která obsahuje zdrojový kód Fibonacciho funkce.

  Seznam složek PyXLL pythonpath

Poté přejděte dolů na „moduly“ a přidejte svůj modul. Pokud jste například uložili soubor jako fibonacci.py , přidejte jméno 'Fibonacci' do seznamu:

  Seznam modulů konfiguračního souboru PyXLL

Tím se odhalí funkce modulu, které používají @xl_func dekoratér do Excelu. Poté se vraťte do Excelu a na Příklad PyXLL Tab , klikněte na Znovu načtěte PyXLL tlačítko pro synchronizaci změn v konfiguračním souboru. Poté můžete zavolat Python fibonacci fungovat jako jakýkoli jiný vzorec Excel.

  Funkce Pythonu v Excelu

Můžete vytvořit tolik funkcí, kolik potřebujete, a vystavit je Excelu stejným způsobem.

Předávání dat mezi Excelem a Pythonem

PyXLL podporuje použití externích knihoven Pythonu, jako jsou Pandy. Umožňuje vám předávat data z těchto knihoven do Pythonu a naopak. Například můžete použijte Pandy k vytvoření náhodného datového rámce a předat jej do Excelu. Ujistěte se, že je ve vašem systému nainstalován Pandas, a poté vyzkoušejte 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)

Stejným postupem byste měli vystavit tento modul a jeho funkce Excelu. Pak zkuste zavolat na random_dataframe fungovat jako jiný vzorec Excel:

 =random_dataframe(10,5)

Počet řádků a sloupců můžete libovolně měnit.

  Dataframe v Excelu generovaný Pandas přes PyXLL

Předdefinované datové rámce můžete předat Excelu stejným způsobem. Je také možné importovat data Excelu do skriptu Python pomocí Pandas .

Omezení PyXLL

  • Kompatibilita Windows a Excel: PyXLL je primárně navržen pro Windows a pracuje s Microsoft Excel na Windows. Může mít omezenou funkčnost nebo problémy s kompatibilitou na platformách jiných než Windows, protože je optimalizován pro prostředí Windows.
  • Nasazení: Nasazení tabulek poháněných PyXLL koncovým uživatelům vyžaduje, aby měli nainstalovaný Python s minimálními závislostmi nebo běhové prostředí Pythonu dodávané s tabulkou. To znamená, že uživatelé, kteří chtějí používat tabulky založené na PyXLL, musí mít na svých počítačích nainstalovaný Python.
  • Křivka učení: Efektivní používání PyXLL vyžaduje určité znalosti programování v Pythonu a znalost objektového modelu Excelu. Uživatelé, kteří nejsou obeznámeni s Pythonem nebo objektovým modelem Excelu, možná budou muset investovat čas do osvojení si těchto konceptů, než budou plně využívat možnosti PyXLL.
  • Cena licence: PyXLL je komerční produkt a v závislosti na vašem použití a požadavcích mohou být s jeho používáním spojeny licenční náklady. Náklady na používání PyXLL závisí na faktorech, jako je počet uživatelů, rozsah nasazení a licenční smlouvy.

Měli byste stále používat funkce aplikace Excel?

Záleží na tom, čeho chcete dosáhnout. Vždy má smysl používat nativní funkce Excelu, když jsou k dispozici. Ale pro složitější úkoly, které vestavěné funkce Excelu nezvládnou, je PyXLL vynikajícím řešením.

Knihovna Pandas je dokonalým doplňkem pro PyXLL se svými analytickými schopnostmi a silnou podporou pro zpracování dat.