Ausführen von Python-Skripts mit der Minitab Statistical Software

Hier erfahren Sie mehr über die verschiedenen Möglichkeiten, wie Sie Python aus Minitab ausführen.
Es gibt drei Methoden, um Python-Skripts aus Minitab auszuführen:
  • Führen Sie den Befehl PYSC im Fensterbereich Befehlszeile aus.
  • Führen Sie eine Minitab-Exec aus, die den Befehl PYSC enthält.
  • Passen Sie die Minitab-Benutzeroberfläche an, um eine Minitab-Exec auszuführen, die den Befehl PYSC enthält.

Der Befehl PYSC erweitert die Funktionalität von Minitab mit Python, macht Minitab jedoch nicht zu einer interaktiven Python-Umgebung. Verwenden Sie Minitab daher nur mit Python-Skripten, die ohne Interaktion abgeschlossen werden. Beispielsweise funktioniert die Funktion input(), die Eingaben von der Tastatur akzeptiert, während ein Skript ausgeführt wird, in Minitab nicht. Interaktivität in Python nimmt viele andere Formen an, z. B. plot.show() und keyboard.read_key().

Weitere Informationen zum Python-Module von Minitab, darunter Python-Codebeispiele, finden Sie unter Python API-Referenz.

Alle Dateien, auf die in diesem Handbuch verwiesen wird, sind in dieser .ZIP-Datei verfügbar: python_guide_files.zip.

Hinweis

Installieren und führen Sie Python aus, bevor Sie versuchen, Python in Minitab Statistical Software zu integrieren. Wenden Sie sich an den technischen Support Ihrer Organisation, um Unterstützung bei der Installation von Python zu erhalten. Der technische Support von Minitab kann Sie bei der Installation von Python nicht unterstützen.

Ausführen von Python-Skripts aus dem Fensterbereich Befehlszeile

Sie können den Befehl PYSC im Fensterbereich Befehlszeile ausführen. Allgemeine Informationen zum Fensterbereich Befehlszeile finden Sie unter Befehlszeile/Verlaufsfenster. Allgemeine Informationen zur Verwendung von Sessionbefehlen finden Sie in der Hilfe zu Sessionbefehlen.

PYSC["filename.py"]["Args"...]

Führt das von Ihnen angegebene Python-Skript aus.

Die Standarddateierweiterung für Python-Skripts lautet .PY. Wenn die Dateierweiterung .PY lautet, müssen Sie die Dateierweiterung nicht eingeben.

Das optionale Argument Args ermöglicht Ihnen das Übergeben von Argumenten an das Python-Skript über sys.argv[1:]. Args kann beliebige Textwerte umfassen, die jeweils durch ein Leerzeichen getrennt sind. Schließen Sie Argumente in Anführungszeichen ein. Der Standardwert ist None, was bedeutet, dass das Skript keine Argumente erhält.

Im Allgemeinen verwenden Sie Argumente, um Daten aus Minitab an Python zu übertragen. Sie können Argumente auf verschiedene Arten eingeben. Sie können z. B. Argumente verwenden, die Bezeichner für Spalten, Matrizen oder Konstanten sind:

Minitab-Sessionbefehl Wert in Python Verwendung
PYSC "test.py" "C1"
"C1"
Verwenden Sie die folgende Funktion, um die Spalte abzurufen:
mtbpy.mtb_instance().get_column(sys.argv[1:][0])
PYSC "test.py" "M1"
"M1"
Verwenden Sie die folgende Funktion, um die Matrix abzurufen:
mtbpy.mtb_instance().get_matrix(sys.argv[1:][0])
PYSC "test.py" "K1"
"K1"
Verwenden Sie die folgende Funktion, um die Konstante abzurufen:
mtbpy.mtb_instance().get_constant(sys.argv[1:][0])

Sie können auch Argumente verwenden, die Namen von Spalten, Matrizen oder Konstanten in Minitab sind:

Minitab-Sessionbefehl Wert in Python Verwendung
PYSC "test.py" "My Column"
"My Column"
Verwenden Sie die folgende Funktion, um die Spalte abzurufen:
mtbpy.mtb_instance().get_column(sys.argv[1:][0])
PYSC "test.py" "My Matrix"
"My Matrix"
Verwenden Sie die folgende Funktion, um die Matrix abzurufen:
mtbpy.mtb_instance().get_matrix(sys.argv[1:][0])
PYSC "test.py" "My Constant"
"My Constant"
Verwenden Sie die folgende Funktion, um die Konstante abzurufen:
mtbpy.mtb_instance().get_constant(sys.argv[1:][0])

Sie können außerdem Argumente angeben, um Zeichenfolgen zu übergeben, die in Ihrem Python-Code verwendet werden sollen. Sie können eine Zeichenfolge direkt oder in einer Konstante übergeben.

Minitab-Sessionbefehl Wert in Python Verwendung
PYSC "test.py" "Text not Stored"
"Text not Stored"
In diesem Fall wurde ein Wert übergeben, der nicht mit einem mtbpy-„get“-Befehl verwendet werden kann. Args sind jedoch nicht nur auf das Übergeben von Spalten, Matrizen und Konstanten beschränkt.
LET K1 = "Text in Constant" PYSC "test.py" K1
"Text in Constant"
In diesem Beispiel wird gezeigt, dass PYSC zwar keine Argumente akzeptiert, die keine Textwerte sind, Sie jedoch eine Konstante an PYSC übergeben können, sofern die Konstante als Textwert definiert ist.

Wenn Sie mehr als ein Argument übergeben, können Sie über die Liste der Argumente der Reihe nach auf die Argumente zugreifen:

Minitab-Sessionbefehl Wert in Python Verwendung
PYSC "test.py" "C1" "C2" "M1" "K3" "10"
"C1" "C2" "M1" "K3" "10"
Dies ist ein Beispiel für das Übergeben mehrererArgs, wobei Sie mit Hilfe der folgenden Funktionen in Python darauf zugreifen:
mtbpy.mtb_instance().get_column(sys.argv[1:][0]) mtbpy.mtb_instance().get_column(sys.argv[1:][1]) mtbpy.mtb_instance().get_matrix(sys.argv[1:][2]) mtbpy.mtb_instance().get_constant(sys.argv[1:][3]) int(sys.argv[1:][4])

Verwenden Sie die folgende Datei, um die Ausgabe aus dem Beispieltext für die folgenden Unterbefehle anzuzeigen. Stellen Sie sicher, dass sich die Datei test.py im Minitab-Ordner für Python-Skripts befindet.
Datei Beschreibung
test.py Ein Python-Beispielskript, das in diesem Handbuch verwendet wird. Wenn Sie Argumente an das Skript übergeben, enthalten die Ergebnisse eine Liste mit den Werten der Argumente. Wenn Sie das Skript mit dem Argument „ArgToBePrintedToStdErr“ ausführen, schreibt das Skript den Namen des Arguments in die Datei „stderr“. Wenn Sie das Skript mit dem Argument „ArgToBePrintedToStdOut“ ausführen, schreibt das Skript den Namen des Arguments in die Datei „stdout“. Verwenden Sie die folgenden Unterbefehle, um zu steuern, ob der Inhalt dieser Dateien im Minitab-Ausgabefenster angezeigt wird.
NOSERR
Gibt an, dass im Minitab-Ausgabefenster kein Text aus der Standard-Fehlerkonsolenausgabe (stderr) angezeigt wird. In der „stderr“-Konsolenausgabe werden Python-Fehlermeldungen angezeigt, wenn Sie Ihren Code in einer integrierten Python-Entwicklungsumgebung ausführen. In Python ist es jedoch auch möglich, andere Ergebnisse in der Datei „stderr“ auszugeben. Als Beispiel gilt standardmäßig:
PYSC "test.py" "ArgToBePrintedToStdErr". 
Erzeugt die folgenden Ergebnisse, die die „stderr“-Konsolenausgabe enthalten:

Python Script

These results are from external software.
The following arguments were passed to Python: ['ArgToBePrintedToStdErr']

Python standard error

The following arguments were printed to Stderr: 'ArgToBePrintedToStdErr'
Die folgenden Sessionbefehle schließen die „stderr“-Konsolenausgabe aus:
PYSC "test.py" "ArgToBePrintedToStdErr"; NOSERR.
Die Sessionbefehle erzeugen die folgenden Ergebnisse:

Python Script

These results are from external software.
The following arguments were passed to Python: ['ArgToBePrintedToStdErr']
SOUT
Gibt an, dass Text aus der Standardkonsolenausgabe (stdout) im Minitab-Ausgabefenster angezeigt wird. In stdout werden die Ergebnisse von Befehlen wie print() in einer integrierten Python-Entwicklungsumgebung angezeigt. Als Beispiel gilt standardmäßig:
PYSC "test.py" "ArgToBePrintedToStdOut". 
Erzeugt die folgenden Ergebnisse, die stdout ausschließen:

Python Script

These results are from external software.
The following arguments were passed to Python: ['ArgToBePrintedToStdOut']
Bei den folgenden Sessionbefehle wird stdout eingebunden:
PYSC "test.py" "ArgToBePrintedToStdOut"; SOUT.
Die Sessionbefehle erzeugen die folgenden Ergebnisse:

Python Script

These results are from external software.
The following arguments were passed to Python: ['ArgToBePrintedToStdOut']

Python standard output

The following arguments were printed to Stdout: 'ArgToBePrintedToStdOut'

Ausführen von Python-Skripts aus einer Minitab-Exec-Datei

Verwenden Sie die folgende Datei, um das Verfahren in diesem Abschnitt auszuführen:
Datei Beschreibung
test.py Ein Python-Beispielskript, das in diesem Handbuch verwendet wird. Wenn Sie Argumente an das Skript übergeben, enthalten die Ergebnisse eine Liste mit den Werten der Argumente.
PYEXEC.MTB Eine Minitab-Exec-Beispieldatei, die die Sessionbefehle zum Ausführen des Skripts test.py mit 2 Argumenten enthält.

Execs sind Textdateien, die Minitab-Sessionbefehle enthalten. Sie können den Befehl PYSC, der Python ausführt, in eine Minitab-Exec aufnehmen. Mit Exec-Dateien können Sie Befehle einfach ausführen, ohne sie jeweils erneut eingeben zu müssen, und Sie können die Exec einer benutzerspezifischen Schaltfläche in Minitab zuordnen. Weitere Informationen zu Minitab-Execs finden Sie in der Minitab-Hilfe zu Makros. Um eine Exec auszuführen, wählen Sie Datei > Exec ausführen aus.

Angenommen, Sie erstellen die Exec PYEXEC.MTB. Die Exec-Datei enthält den folgenden Minitab-Befehl:
PYSC "test.py" "Arg1" "Arg2"
Führen Sie die folgenden Schritte aus, um das Python-Skript mit der Exec auszuführen:
  1. Wählen Sie Datei > Exec ausführen aus.
  2. Klicken Sie auf Datei auswählen.
  3. Wählen Sie PYEXEC.MTB aus.
  4. Klicken Sie auf Öffnen.
Das Skript zeigt die Werte der Argumente in Minitab an, und die Exec erzeugt die folgenden Ergebnisse:

Python Script

These results are from external software.
The following arguments were passed to Python: ['Arg1', 'Arg2']

Ausführen von Python-Skripts über die Minitab-Benutzeroberfläche

Wenn Sie über eine Minitab-Exec-Datei verfügen, können Sie eine benutzerspezifische Schaltfläche oder ein Menü erstellen, mit der bzw. dem die Exec ausgeführt wird. Allgemeine Informationen zum Anpassen der Benutzeroberfläche in Minitab finden Sie unter Anpassen der Menüs, Symbolleisten und Tastenkombinationen.

Sie können folgendermaßen verfahren, um eine benutzerspezifische Schaltfläche zu erstellen, die eine Exec ausführt:
  1. Wählen Sie Ansicht > Anpassen aus.
  2. Klicken Sie auf die Registerkarte Extras.
  3. Klicken Sie auf der Registerkarte Extras auf die Schaltfläche Neu (einfügen).
  4. Geben Sie einen Namen für den Befehl ein, und drücken Sie dann die Eingabetaste.
  5. Klicken Sie auf die Schaltfläche Öffnen.
  6. Wählen Sie in der Dropdown-Liste „Dateityp“ die Option Alle Dateien (*.*) aus.
  7. Navigieren Sie zu einer Exec-Datei, und wählen Sie sie aus.
  8. Klicken Sie auf Öffnen.
  9. Wählen Sie erneut Ansicht > Anpassen aus.
  10. Wählen Sie auf der Registerkarte Befehle unter Kategorien die Option Extras aus.
  11. Während das Dialogfeld Anpassen geöffnet ist, ziehen Sie den neuen Befehl an die Stelle, an der er im Minitab-Menü oder auf der Symbolleiste angezeigt werden soll.
  12. Klicken Sie auf Schließen.

Zusätzlich zu den Funktionen zum Anpassen der Minitab-Benutzeroberfläche können Sie eine COM-kompatible Sprache verwenden, um benutzerspezifische Dialogfelder und Analysen zu erstellen. Informationen zum Anpassen von Minitab über COM finden Sie unter Minitab-Automatisierung.

Anhalten des Befehls PYSC

Sie können ein Python-Skript anhalten und Minitab geöffnet halten. So wird verhindert, dass Änderungen an Ihrem Minitab-Projekt seit dem letzten Speichern verloren gehen. Die Methode zum Anhalten eines Python-Skripts hängt von Ihrem Betriebssystem ab.
Microsoft® Windows

Drücken Sie Strg + Alt + Entf, um den Windows-Task-Manager zu öffnen. Beenden Sie dann den Python-Prozess.

macOS
Drücken Sie Befehl + Wahl + Esc, um das Fenster „Programme sofort beenden“ zu öffnen. Beenden Sie dann die Python-Anwendung.