Wrapping statements in Python in SPSS

Mitya Sirenef msirenef at lightbird.net
Fri Dec 28 12:55:03 EST 2012


On 12/28/2012 12:33 PM, alankrinsky at gmail.com wrote:
> I think 396 just comes from the  end of the Python loop, without indicating which line in the loop is 
at issue.
 >
 > Here is the full code from this section of the loop:
 >
 >
 > for (
 > msr, brk, dmn, src, dspd1, dspd2, dspd3, dspd4, dspd5, dspd6, dspd7, 
dspd8, dspd9, dspd10, dspd11, dspd12,
 > period1, period2, period3, period4, period5, period6, period7, 
period8, period9, period10, period11, period12
 > ) in zip(
 > Measure, BreakVariable, Dimension, Sources, 
DimensionSourceTimeFrame1, DimensionSourceTimeFrame2, 
DimensionSourceTimeFrame3, DimensionSourceTimeFrame4,
 > DimensionSourceTimeFrame5, DimensionSourceTimeFrame6, 
DimensionSourceTimeFrame7, DimensionSourceTimeFrame8, 
DimensionSourceTimeFrame9,
 > DimensionSourceTimeFrame10, DimensionSourceTimeFrame11, 
DimensionSourceTimeFrame12,
 > TimeFrame1, TimeFrame2, TimeFrame3, TimeFrame4, TimeFrame5, 
TimeFrame6, TimeFrame7, TimeFrame8, TimeFrame9, TimeFrame10, 
TimeFrame11, TimeFrame12
 > ):
 >
 >
 > spss.Submit(r"""
 >
 >
 > Alan
 >
 >

By the way, when lines run so long they can get hard to manage, edit,
understand, et cetera. You should consider setting things up cleanly
before doing the loop and using a list of names for columns like so:


def main():
     l1, l2   = [1,2], [3,4]
     zipped   = zip(l1, l2)
     colnames = "first second".split()

     for columns in zipped:
         coldict = dict(zip(colnames, columns))
         print("coldict", coldict)

main()


This produces output:

coldict {'second': 3, 'first': 1}
coldict {'second': 4, 'first': 2}

.. and then you can pass the coldict on to your string.

  - mitya


-- 
Lark's Tongue Guide to Python: http://lightbird.net/larks/




More information about the Python-list mailing list