Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #35703 > unrolled thread

Wrapping statements in Python in SPSS

Started byalankrinsky@gmail.com
First post2012-12-28 08:01 -0800
Last post2012-12-28 08:43 -0800
Articles 11 — 4 participants

Back to article view | Back to comp.lang.python


Contents

  Wrapping statements in Python in SPSS alankrinsky@gmail.com - 2012-12-28 08:01 -0800
    Re: Wrapping statements in Python in SPSS Chris Angelico <rosuav@gmail.com> - 2012-12-29 03:10 +1100
      Re: Wrapping statements in Python in SPSS alankrinsky@gmail.com - 2012-12-28 08:43 -0800
        Re: Wrapping statements in Python in SPSS Peter Otten <__peter__@web.de> - 2012-12-28 18:07 +0100
        Re: Wrapping statements in Python in SPSS Chris Angelico <rosuav@gmail.com> - 2012-12-29 04:12 +1100
          Re: Wrapping statements in Python in SPSS alankrinsky@gmail.com - 2012-12-28 09:33 -0800
            Re: Wrapping statements in Python in SPSS Mitya Sirenef <msirenef@lightbird.net> - 2012-12-28 12:55 -0500
            Re: Wrapping statements in Python in SPSS Mitya Sirenef <msirenef@lightbird.net> - 2012-12-28 13:05 -0500
            Re: Wrapping statements in Python in SPSS Mitya Sirenef <msirenef@lightbird.net> - 2012-12-28 13:20 -0500
          Re: Wrapping statements in Python in SPSS alankrinsky@gmail.com - 2012-12-28 09:33 -0800
      Re: Wrapping statements in Python in SPSS alankrinsky@gmail.com - 2012-12-28 08:43 -0800

#35703 — Wrapping statements in Python in SPSS

Fromalankrinsky@gmail.com
Date2012-12-28 08:01 -0800
SubjectWrapping statements in Python in SPSS
Message-ID<7fcd8949-c781-425c-b6d2-7d0a634b12b7@googlegroups.com>
I am working with Python looping in SPSS. What are the limits for the

for var1, var2, var3 in zip(Variable1, Variable2, Variable3): 

statement in the Python looping function within SPSS? I am getting an error message, I presume because of wrapping or length. Imagine the above statement, but expanded, as I am working with more than 28 variables in this loop, and even making the names really short is making the statement too long. Is it impossible to wrap and make this work? I know there are ways to wrap strings, including lists of variables, but here I have a statement/function.

Thank you for any help!

Alan

[toc] | [next] | [standalone]


#35704

FromChris Angelico <rosuav@gmail.com>
Date2012-12-29 03:10 +1100
Message-ID<mailman.1397.1356711013.29569.python-list@python.org>
In reply to#35703
On Sat, Dec 29, 2012 at 3:01 AM,  <alankrinsky@gmail.com> wrote:
> I am working with Python looping in SPSS. What are the limits for the
>
> for var1, var2, var3 in zip(Variable1, Variable2, Variable3):
>
> statement in the Python looping function within SPSS? I am getting an error message, I presume because of wrapping or length. Imagine the above statement, but expanded, as I am working with more than 28 variables in this loop, and even making the names really short is making the statement too long. Is it impossible to wrap and make this work? I know there are ways to wrap strings, including lists of variables, but here I have a statement/function.

At what point are you wrapping it? Can you show the wrapped form and
the error message?

As a general rule, you can safely wrap anything that's inside parentheses.

for (
  var1,
  var2,
  var3
) in zip(
  Variable1,
  Variable2,
  Variable3
):
  pass

That may be a tad excessive, but you get the idea :)

ChrisA

[toc] | [prev] | [next] | [standalone]


#35705

Fromalankrinsky@gmail.com
Date2012-12-28 08:43 -0800
Message-ID<596420c8-b88c-4b4d-89d9-a0c22ac7180b@googlegroups.com>
In reply to#35704
Chris,

I tried placing in the format you suggested and received this error message:

END PROGRAM.
Traceback (most recent call last):
  File "<string>", line 396, in <module>
ValueError: incomplete format key



____________________

On Friday, December 28, 2012 11:10:10 AM UTC-5, Chris Angelico wrote:
> On Sat, Dec 29, 2012 at 3:01 AM, alan wrote: > I am working with Python looping in SPSS. What are the limits for the > > for var1, var2, var3 in zip(Variable1, Variable2, Variable3): > > statement in the Python looping function within SPSS? I am getting an error message, I presume because of wrapping or length. Imagine the above statement, but expanded, as I am working with more than 28 variables in this loop, and even making the names really short is making the statement too long. Is it impossible to wrap and make this work? I know there are ways to wrap strings, including lists of variables, but here I have a statement/function. At what point are you wrapping it? Can you show the wrapped form and the error message? As a general rule, you can safely wrap anything that's inside parentheses. for ( var1, var2, var3 ) in zip( Variable1, Variable2, Variable3 ): pass That may be a tad excessive, but you get the idea :) ChrisA

[toc] | [prev] | [next] | [standalone]


#35707

FromPeter Otten <__peter__@web.de>
Date2012-12-28 18:07 +0100
Message-ID<mailman.1399.1356714477.29569.python-list@python.org>
In reply to#35705
alankrinsky@gmail.com wrote:

> I tried placing in the format you suggested and received this error
> message:
> 
> END PROGRAM.
> Traceback (most recent call last):
>   File "<string>", line 396, in <module>
> ValueError: incomplete format key

You seem to have a malformed format string. Example:

Correct:

>>> "Wonderful %(what)s" % dict(what="Spam")
'Wonderful Spam'

Broken (not the missing ')'):

>>> "Wonderful %(whats" % dict(what="Spam")
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: incomplete format key

[toc] | [prev] | [next] | [standalone]


#35708

FromChris Angelico <rosuav@gmail.com>
Date2012-12-29 04:12 +1100
Message-ID<mailman.1400.1356714756.29569.python-list@python.org>
In reply to#35705
On Sat, Dec 29, 2012 at 3:43 AM,  <alankrinsky@gmail.com> wrote:
> Chris,
>
> I tried placing in the format you suggested and received this error message:
>
> END PROGRAM.
> Traceback (most recent call last):
>   File "<string>", line 396, in <module>
> ValueError: incomplete format key

I don't think the code I gave could produce that. You'll need to show
a bit more of your code, including at least line 396, possibly some
context. Unless one of the other members here has a working crystal
ball - mine's cooling down after excessive use.

ChrisA

[toc] | [prev] | [next] | [standalone]


#35710

Fromalankrinsky@gmail.com
Date2012-12-28 09:33 -0800
Message-ID<11d39988-ba47-4bc7-b2d4-6f33a52d398d@googlegroups.com>
In reply to#35708
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


On Friday, December 28, 2012 12:12:27 PM UTC-5, Chris Angelico wrote:
> On Sat, Dec 29, 2012 at 3:43 AM, alan wrote: > Chris, > > I tried placing in the format you suggested and received this error message: > > END PROGRAM. > Traceback (most recent call last): > File "<string>", line 396, in <module> > ValueError: incomplete format key I don't think the code I gave could produce that. You'll need to show a bit more of your code, including at least line 396, possibly some context. Unless one of the other members here has a working crystal ball - mine's cooling down after excessive use. ChrisA

[toc] | [prev] | [next] | [standalone]


#35713

FromMitya Sirenef <msirenef@lightbird.net>
Date2012-12-28 12:55 -0500
Message-ID<mailman.1403.1356717314.29569.python-list@python.org>
In reply to#35710
On 12/28/2012 12:33 PM, alankrinsky@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/

[toc] | [prev] | [next] | [standalone]


#35714

FromMitya Sirenef <msirenef@lightbird.net>
Date2012-12-28 13:05 -0500
Message-ID<mailman.1404.1356717959.29569.python-list@python.org>
In reply to#35710
On 12/28/2012 12:55 PM, Mitya Sirenef wrote:
> On 12/28/2012 12:33 PM, alankrinsky@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)
>


Should really be 'for column in zipped:' !

  -m

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

[toc] | [prev] | [next] | [standalone]


#35716

FromMitya Sirenef <msirenef@lightbird.net>
Date2012-12-28 13:20 -0500
Message-ID<mailman.1408.1356718820.29569.python-list@python.org>
In reply to#35710
On 12/28/2012 01:05 PM, Mitya Sirenef wrote:
> On 12/28/2012 12:55 PM, Mitya  Sirenef wrote:
 >> On 12/28/2012 12:33 PM, alankrinsky@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)
 >>
 >
 >
 > Should really be 'for column in zipped:' !
 >
 > -m
 >

Doh - the code is good, but I got a little confused with variable names.
This should be more like it:

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

     for values in zipped:
         valdict = dict(zip(colnames, values))
         print("valdict", valdict)

main()


  -m


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

[toc] | [prev] | [next] | [standalone]


#35711

Fromalankrinsky@gmail.com
Date2012-12-28 09:33 -0800
Message-ID<mailman.1402.1356716558.29569.python-list@python.org>
In reply to#35708
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


On Friday, December 28, 2012 12:12:27 PM UTC-5, Chris Angelico wrote:
> On Sat, Dec 29, 2012 at 3:43 AM, alan wrote: > Chris, > > I tried placing in the format you suggested and received this error message: > > END PROGRAM. > Traceback (most recent call last): > File "<string>", line 396, in <module> > ValueError: incomplete format key I don't think the code I gave could produce that. You'll need to show a bit more of your code, including at least line 396, possibly some context. Unless one of the other members here has a working crystal ball - mine's cooling down after excessive use. ChrisA

[toc] | [prev] | [next] | [standalone]


#35706

Fromalankrinsky@gmail.com
Date2012-12-28 08:43 -0800
Message-ID<mailman.1398.1356713758.29569.python-list@python.org>
In reply to#35704
Chris,

I tried placing in the format you suggested and received this error message:

END PROGRAM.
Traceback (most recent call last):
  File "<string>", line 396, in <module>
ValueError: incomplete format key



____________________

On Friday, December 28, 2012 11:10:10 AM UTC-5, Chris Angelico wrote:
> On Sat, Dec 29, 2012 at 3:01 AM, alan wrote: > I am working with Python looping in SPSS. What are the limits for the > > for var1, var2, var3 in zip(Variable1, Variable2, Variable3): > > statement in the Python looping function within SPSS? I am getting an error message, I presume because of wrapping or length. Imagine the above statement, but expanded, as I am working with more than 28 variables in this loop, and even making the names really short is making the statement too long. Is it impossible to wrap and make this work? I know there are ways to wrap strings, including lists of variables, but here I have a statement/function. At what point are you wrapping it? Can you show the wrapped form and the error message? As a general rule, you can safely wrap anything that's inside parentheses. for ( var1, var2, var3 ) in zip( Variable1, Variable2, Variable3 ): pass That may be a tad excessive, but you get the idea :) ChrisA

[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.python


csiph-web