So integrieren Sie Python mithilfe von PyXLL nahtlos in Excel

So integrieren Sie Python mithilfe von PyXLL nahtlos in Excel
Leser wie Sie unterstützen MUO. Wenn Sie über Links auf unserer Website einen Kauf tätigen, erhalten wir möglicherweise eine Affiliate-Provision. Mehr lesen.

PyXLL ist ein Tool, das die Lücke zwischen Microsoft Excel und Python schließt. Damit können Sie Python-Code und -Funktionalität nahtlos in Excel-Tabellen integrieren. Mit PyXLL wird Excel zu einer Plattform für die Nutzung der Bibliotheken und Funktionen von Python.





PyXLL dient als Excel-Add-In. Sie können damit Python-Funktionen und Makros direkt in der VBA-Umgebung von Excel schreiben. PyXLL fungiert dann als Interpreter und führt den Code in Excel-Zellen aus, was viele Möglichkeiten eröffnet. Einige davon umfassen die Automatisierung komplexer Aufgaben, erweiterte Datenanalyse und Datenvisualisierung.





Ein Überblick über PyXLL

PyXLL funktioniert durch die Ausführung eines Python-Interpreters innerhalb des Excel-Prozesses. Dadurch erhält Ihr in PyXLL ausgeführter Python-Code direkten Zugriff auf Excel-Daten und -Objekte. Das Tool ist in C++ geschrieben und nutzt die gleiche zugrunde liegende Technologie wie Excel. Das bedeutet, dass Python-Code, der in PyXLL ausgeführt wird, normalerweise viel schneller ist als Excel-VBA-Code .





Installation und Einrichtung

Um PyXLL zu installieren, gehen Sie zu PyXLL-Website und laden Sie das Add-In herunter. Stellen Sie sicher, dass die von Ihnen gewählte Python-Version und Excel-Version mit den auf Ihrem System installierten Versionen übereinstimmen. PyXLL ist nur für die Windows-Version von Excel verfügbar.

  PyXLL-Downloadseite

Wenn der Download abgeschlossen ist, öffnen Sie eine Eingabeaufforderung und führen Sie diesen Befehl aus:



 pip install pyxll

Du brauchst Haben Sie Pip in Ihrem System installiert? damit der obige Befehl ausgeführt werden kann. Verwenden Sie dann das PyXLL-Paket, um das PyXLL-Add-In zu installieren:

 pyxll install 

Das Installationsprogramm fragt Sie, ob Sie das Add-In heruntergeladen haben. Geben Sie „Ja“ ein und geben Sie dann den Pfad zur ZIP-Datei an, die das Add-In enthält. Befolgen Sie dann die Anweisungen auf dem Bildschirm, um die Installation abzuschließen.





Erste Schritte mit PyXLL

Sobald Sie das Plugin installiert haben, starten Sie Excel. Vor dem Start wird eine Eingabeaufforderung angezeigt, in der Sie dazu aufgefordert werden Testversion starten oder Kaufe jetzt . Die Testversion läuft nach dreißig Tagen ab und Sie müssen dann eine Lizenz erwerben, um PyXLL weiterhin nutzen zu können.

Wie ändere ich mein Standard-Google-Konto?
  PyXLL-Versionsaufforderung

Klick auf das Testversion starten Taste. Dadurch wird Excel mit dem installierten Add-In gestartet.





Auf der PyXLL-Beispielregisterkarte , Klick auf das Über PyXLL Taste. Dadurch wird Ihnen der Pfad angezeigt, in dem Sie das Add-In installiert haben, sowie die Pfade zu den Konfigurations- und Protokolldateien.

  PyXLL zur Eingabeaufforderung in Excel

Der Pfad mit der Konfigurationsdatei ist wichtig, da Sie diese Datei später bearbeiten müssen. Notieren Sie sich ihn daher.

Python-Funktionen in Excel verfügbar machen

Um eine Python-Funktion als benutzerdefinierte Funktion (UDF) in Excel verfügbar zu machen, verwenden Sie die @xl_func Dekorateur. Dieser Dekorator weist PyXLL an, die Funktion bei Excel zu registrieren und sie den Benutzern zur Verfügung zu stellen.

Zum Beispiel, um ein Python verfügbar zu machen Fibonacci() Funktion als UDF in Excel importieren, können Sie die verwenden @xl_func Dekorateur wie folgt:

 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)

Speichern Sie diesen Code mit der Erweiterung .py und notieren Sie sich den Pfad des Ordners, in dem Sie die Datei speichern.

Mac OS Emulator für Windows 10

Öffnen Sie nun die PyXLL-Konfigurationsdatei in einem Editor und scrollen Sie nach unten zu einer Zeile, die mit „pythonpath“ beginnt. Bei dieser Einstellung handelt es sich normalerweise um eine Liste von Ordnern, die PyXLL nach Python-Modulen durchsucht. Fügen Sie den Pfad zu dem Ordner hinzu, der den Quellcode der Fibonacci-Funktion enthält.

  PyXLL-Pythonpath-Ordnerliste

Scrollen Sie dann nach unten zu „Module“ und fügen Sie Ihr Modul hinzu. Wenn Sie Ihre Datei beispielsweise als gespeichert haben fibonacci.py , fügen Sie den Namen hinzu „Fibonacci“ zur Liste:

  Liste der Module der PyXLL-Konfigurationsdatei

Dadurch werden die Modulfunktionen verfügbar gemacht, die das verwenden @xl_func Dekorateur nach Excel. Gehen Sie dann zurück zu Excel und weiter PyXLL-Beispielregisterkarte , Klick auf das Laden Sie PyXLL neu Klicken Sie auf die Schaltfläche, um die Änderungen in der Konfigurationsdatei zu synchronisieren. Anschließend können Sie Python aufrufen Fibonacci funktioniert wie jede andere Excel-Formel.

Wie viel Bandbreite verwende ich?
  Python-Funktionen in Excel

Sie können so viele Funktionen erstellen, wie Sie benötigen, und diese auf die gleiche Weise in Excel verfügbar machen.

Übergeben von Daten zwischen Excel und Python

PyXLL unterstützt die Verwendung externer Python-Bibliotheken wie Pandas. Damit können Sie Daten aus diesen Bibliotheken an Python übergeben und umgekehrt. Das können Sie zum Beispiel Verwenden Sie Pandas, um einen zufälligen Datenrahmen zu erstellen und übergeben Sie es an Excel. Stellen Sie sicher, dass Pandas auf Ihrem System installiert ist, und probieren Sie dann diesen Code aus:

 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)

Sie sollten den gleichen Prozess befolgen, um dieses Modul und seine Funktionen in Excel verfügbar zu machen. Versuchen Sie dann, die anzurufen random_dataframe funktionieren wie andere Excel-Formeln:

 =random_dataframe(10,5)

Sie können die Anzahl der Zeilen und Spalten nach Belieben ändern.

  Von Pandas über PyXLL generierter Datenrahmen in Excel

Auf die gleiche Weise können Sie Ihre vordefinierten Datenrahmen an Excel übergeben. Es ist auch möglich Importieren Sie Excel-Daten mit Pandas in das Python-Skript .

Einschränkungen von PyXLL

  • Windows- und Excel-Kompatibilität: PyXLL wurde hauptsächlich für Windows entwickelt und funktioniert mit Microsoft Excel unter Windows. Auf Nicht-Windows-Plattformen kann es zu eingeschränkter Funktionalität oder Kompatibilitätsproblemen kommen, da es für Windows-Umgebungen optimiert ist.
  • Bereitstellung: Die Bereitstellung von PyXLL-basierten Tabellenkalkulationen für Endbenutzer erfordert, dass diese Python mit minimalen Abhängigkeiten installiert haben oder dass die Python-Laufzeit mit der Tabellenkalkulation gebündelt ist. Das bedeutet, dass Benutzer, die PyXLL-basierte Tabellenkalkulationen verwenden möchten, Python auf ihren Computern installiert haben müssen.
  • Lernkurve: Die effektive Nutzung von PyXLL erfordert einige Kenntnisse der Python-Programmierung und Vertrautheit mit dem Objektmodell von Excel. Benutzer, die mit Python oder dem Objektmodell von Excel nicht vertraut sind, müssen möglicherweise Zeit in das Erlernen dieser Konzepte investieren, bevor sie die Funktionen von PyXLL vollständig nutzen können.
  • Lizenzkosten: PyXLL ist ein kommerzielles Produkt und abhängig von Ihrer Nutzung und Ihren Anforderungen können mit der Nutzung Lizenzkosten verbunden sein. Die Kosten für die Nutzung von PyXLL hängen von Faktoren wie der Anzahl der Benutzer, dem Umfang der Bereitstellung und den Lizenzvereinbarungen ab.

Sollten Sie weiterhin Excel-Funktionen verwenden?

Es hängt davon ab, was Sie erreichen möchten. Es ist immer sinnvoll, native Excel-Funktionen zu verwenden, sofern diese verfügbar sind. Aber für komplexere Aufgaben, die die integrierten Funktionen von Excel nicht bewältigen können, ist PyXLL eine hervorragende Lösung.

Die Pandas-Bibliothek ist mit ihren Analysefunktionen und ihrer starken Unterstützung für die Datenverarbeitung eine perfekte Ergänzung für PyXLL.