Einführung in Python-Programme

Mit dem Python® Integration Package for IBM® SPSS® Statistics können Sie Python -Programme erstellen, die den Ablauf von Befehlssyntaxjobs steuern, Daten lesen und schreiben sowie angepasste Prozeduren erstellen, die ihre eigene Pivot-Tabellenausgabe generieren. Für diese Funktion ist das IBM SPSS Statistics -Integrations-Plug-in für Pythonerforderlich, das standardmäßig mit Ihrem Produkt IBM SPSS Statistics installiert wird.

Zum Erstellen von Python -Scripts , die auf der IBM SPSS Statistics -Benutzerschnittstelle arbeiten und Ausgabeobjekte bearbeiten, ist eine Begleitschnittstelle verfügbar. Weitere Informationen enthält das Thema Einführung in Python -Scripts .

Die hier beschriebenen Python -Programmierfunktionen sind in BEGIN PROGRAM-END PROGRAM -Programmblöcken in Befehlssyntax verfügbar. Ein Programmblock bietet Zugriff auf die gesamte Funktionalität der Programmiersprache Python , einschließlich der für IBM SPSS Statistics spezifischen Funktionen, die im Python Integration Package für IBM SPSS Statisticsbereitgestellt werden. Sie können Programmblöcke verwenden, um die Programmierfunktionen von Python mit allen Funktionen von IBM SPSS Statistics zu kombinieren, indem Sie Zeichenfolgen mit Befehlssyntax erstellen, die dann von IBM SPSS Statisticsausgeführt werden.

Sie können IBM SPSS Statistics auch über einen externen Python -Prozess ausführen, z. B. über eine Python -IDE oder den Python -Interpreter. Weitere Informationen finden Sie im Abschnitt Ausführen von IBM SPSS Statistics über einen externen Python -Prozess .

Innerhalb eines Programmblocks hat Python die Steuerung und weiß nichts über IBM SPSS Statistics -Befehle. Wenn das Python -Integrationspaket für IBM SPSS Statistics geladen wird, kennt Python die Funktionen, die im Paket bereitgestellt werden, aber Standardbefehle von IBM SPSS Statistics sind in einem Programmblock grundsätzlich ungültig. Zum Beispiel:

BEGIN PROGRAM PYTHON3.
FREQUENCIES VARIABLES=var1, var2, var3.
END PROGRAM.

generiert einen Fehler, da FREQUENCIES von Pythonnicht erkannt wird. Da das Ziel eines Programmblocks jedoch in der Regel darin besteht, eine Befehlssyntax zu generieren, die IBM SPSS Statistics verstehen kann, muss es eine Möglichkeit geben, Befehlssyntax innerhalb eines Programmblocks anzugeben. Dies geschieht, indem Syntaxbefehle oder Teile von Befehlen als Zeichenfolgen ausgedrückt werden, wie in:

spss.Submit("FREQUENCIES VARIABLES=var1, var2, var3.")

Die reale Leistung von Programmblöcken ergibt sich aus der Fähigkeit, Zeichenfolgen der Befehlssyntax dynamisch zu erstellen, wie in:

BEGIN PROGRAM PYTHON3.
import spss
string1="DESCRIPTIVES VARIABLES="
N=spss.GetVariableCount()
scaleVarList=[]
for i in range(N):
  if spss.GetVariableMeasurementLevel(i)=='scale':
    scaleVarList.append(spss.GetVariableName(i))
string2="."
spss.Submit([string1, ' '.join(scaleVarList), string2])
END PROGRAM.
  • spss.GetVariableCount gibt die Anzahl der Variablen im aktiven Dataset zurück.
  • if spss.GetVariableMeasurementLevel(i)=="scale" gilt nur für Variablen mit einem metrischen Messniveau.
  • scaleVarList.append(spss.GetVariableName(i)) erstellt eine Liste mit Variablennamen, die nur die Variablen mit einem metrischen Messniveau enthält.
  • spss.Submit übergibt einen DESCRIPTIVES -Befehl an IBM SPSS Statistics , der ungefähr wie folgt aussieht:
DESCRIPTIVES VARIABLES=
scalevar1 scalevar2 scalevar3...etc.
.