LISTSERV at the University of Georgia
Menubar Imagemap
Home Browse Manage Request Manuals Register
Previous messageNext messagePrevious in topicNext in topicPrevious by same authorNext by same authorPrevious page (December 2005)Back to main SPSSX-L pageJoin or leave SPSSX-L (or change settings)ReplyPost a new messageSearchProportional fontNon-proportional font
Date:         Sat, 24 Dec 2005 09:30:25 -0600
Reply-To:     "Peck, Jon" <peck@spss.com>
Sender:       "SPSSX(r) Discussion" <SPSSX-L@LISTSERV.UGA.EDU>
From:         "Peck, Jon" <peck@spss.com>
Subject:      =?utf-8?B?UkU6ICAgICAgW1NQU1NYLUxdIFB5dGhvbiBhbmQgU1A=?=
              =?utf-8?B?U1Mgc3ludGF4IOKAkyBkbyB0aGV5ICAgICAgICAgICAgIA==?=
              =?utf-8?B?IGJlaGF2ZSBsaWtlICAgICAgICAgICAgICBvbmUgc2k=?=
              =?utf-8?B?bmdsZSBsYW5ndWFnZT8=?=
Comments: To: Michael <zorritillito-spssl@YAHOO.DE>
Content-Type: text/plain; charset="utf-8"

Although I am a very big fan of the Python integration into SPSS, I admit to not being a disinterested party. However, I'd like to point out one thing about the issue of passing arguments to Python programs. This is a natural thing to think of doing if you start with an SPSS syntax orientation and want to incorporate some of the programmability features. But it is very easy to invert the problem and eliminate the need for this altogether.

You might consider making your syntax file entirely into a Python program, keeping SPSS syntax where needed and submitting it with the Python spss.Submit api. Then write Python modules with functions and methods that support all the argument passing facilities of the Python language. This way, all the program logic is Python code, and SPSS syntax is used for procedures, transformations, etc.

There is a topic on the Code Center (forums.spss.com/code_center) that discusses how to convert SPSS syntax into Python code. It is extremely easy. You can also achieve most of the effects of SaxBasic scripting with Python programs via the Viewer module on the Code Center, but that requires transcribing your Sax Basic code into Python code. Although this is not terribly difficult, there are a few pitfalls to watch out for. There is some information in the FAQ on the Code Center on this, but I plan to add more information over the next few weeks on this.

Regards, Jon Peck SPSS

-----Original Message----- From: SPSSX(r) Discussion [mailto:SPSSX-L@LISTSERV.UGA.EDU] On Behalf Of Michael Sent: Wednesday, December 14, 2005 8:38 AM To: SPSSX-L@LISTSERV.UGA.EDU Subject: [SPSSX-L] Python and SPSS syntax – do they behave like one single language?

Dear Group,

maybe some of you are also thinking about using python for their SPSS programming (python is more or less integrated in SPSS 14). I would enjoy some discussion about the use of it.

My hope is that syntax and python might integrate so well that they behave as one single programming language (which is, in my view, not the case with syntax and Sax Basic). A promising thing is that you can directly submit variable values from python to SPSS.

On the other hand, apparently you cannot do the same thing the other way round, i.e. with macro variables. There seems to be a solution to the problem (http://www.spsstools.net/Python/PassAnArgumentToPython.SPS), which involves writing to an external file and rereading it. Personally I am afraid of this method, because I often had problems with it (i.e. sometimes the file could not be opened) and I find it makes it more difficult to read and understand the code. But I wonder if it is at all necessary to pass arguments to python, because if you abstain from macros I don ´t see the need for arguments to be passed to python (apart from macro variables python can access all other SPSS objects directly, I understand).

Well, as you see, I find it quite hard to tell in advance, how well python works with SPSS and what problems might appear. I do not want to spend a lot of time and money (for upgrading to SPSS 14) and then discover that I could as well have stack to macros and Sax Basic. I am looking very much forward to your thoughts and comments.

Greetings

Michael


Back to: Top of message | Previous page | Main SPSSX-L page