[Tutor] Fwd: Problem with nested for-in
emmanuel.delaborde
emmanuel.delaborde at cimex.com
Thu Jan 29 14:38:31 CET 2009
Hello I hope this will be clearer
here is the script :
####################################
# -*- coding: utf-8 -*-
import csv
lines = csv.reader(open("CATEGORY.csv","r"))
lines2 = csv.reader(open("CATEGORYLIST.csv","r"))
old_cats = []
for line in lines:
print line
stories = []
for line2 in lines2:
print "\t%s == %s ? %s" % (line2[1], line[0], line2[1] ==
line[0])
if line2[1] == line[0]:
stories.append(line2[0])
old_cats.append((line[0],line[2], stories))
####################################
here's the output :
['100701', '22', 'Water softeners', '2', '0', '100401']
21092 == 100701 ? False
100418 == 100701 ? False
100440 == 100701 ? False
100405 == 100701 ? False
100704 == 100701 ? False
21079 == 100701 ? False
21081 == 100701 ? False
21075 == 100701 ? False
21085 == 100701 ? False
21076 == 100701 ? False
21082 == 100701 ? False
21085 == 100701 ? False
21092 == 100701 ? False
100396 == 100701 ? False
100700 == 100701 ? False
100335 == 100701 ? False
100335 == 100701 ? False
100420 == 100701 ? False
100421 == 100701 ? False
100335 == 100701 ? False
100337 == 100701 ? False
['100702', '22', 'Garment processing', '2', '0', '100491']
['100703', '22', 'Fume hoods', '2', '0', '100441']
['100704', '22', 'Tank vent breathers', '2', '0', '100405']
['100705', '22', 'Absorbent paper', '2', '0', '100438']
['100706', '22', 'Packaging machinery & equipment', '2', '0', '100403']
['100707', '22', 'Copper', '2', '0', '100428']
['100708', '22', 'Silver', '2', '0', '100428']
['100709', '22', 'Clinical waste disposal', '2', '0', '100418']
['100710', '22', 'Air decontamination systems', '2', '0', '100342']
['100711', '22', 'Instrument cleaner-processors', '2', '0', '100438']
['100712', '22', 'Pathogen identification', '2', '0', '100404']
['100713', '22', 'Biocidal wipes', '2', '0', '100517']
['100714', '22', 'Medical devices', '2', '0', '100418']
['100715', '22', 'Testing', '2', '0', '100491']
when can see that the inner loop is only executed for the first item
of the top-level loop...
I've attached the 2 CSV files.
Thanks
Begin forwarded message:
> From: W W <srilyk at gmail.com>
> Date: 29 January 2009 11:43:37 GMT
> To: "emmanuel.delaborde" <emmanuel.delaborde at cimex.com>
> Cc: tutor at python.org
> Subject: Re: [Tutor] Problem with nested for-in
>
> On Thu, Jan 29, 2009 at 5:06 AM, emmanuel.delaborde <emmanuel.delaborde at cimex.com
> > wrote:
> Hello,
>
> I have the following snippet :
>
> lines = csv.reader(open("CATEGORY.csv","r"))
> lines2 = csv.reader(open("CATEGORYLIST.csv","r"))
>
> old_cats = []
> for line in lines:
> print line
>
> stories = []
> for line2 in lines2:
> print line2
>
> if line2[1] == line[0]:
> stories.append(line2[0])
> old_cats.append((line[0],line[2], stories))
>
>
> what happens is that
>
> for the first elt of lines, the nested for in runs fine
> but then never seem to run again while the top level loop iterates
> through the rest of lines
>
> consequently stories accumulate nothing...
>
> Can someone explain please ?
>
> I would try adding the two print statements above to your code. It
> might give you an idea about what's going on. It would also be
> helpful to provide us with some of your original data and the data
> you get once you've run the program.
>
> HTH,
> Wayne
-----------------------------------------------------------------------------------------------
This e-mail (and any attachments) is confidential and may contain
personal views which are not the views of Cimex Media Ltd and
any affiliated companies, unless specifically stated. It is intended
for the use of the individual or group to whom it is addressed. If
you have received it in error, please delete it from your system,
do not use, copy or disclose the information in any way nor act in
reliance on it and please notify postmaster at cimex.com
A company registered in England Wales. Company Number 03765711
Registered Office : The Olde Bakehouse, 156 Watling Street East, Towcester,
Northants NN12 6DB
This email was scanned by Postini, the leading provider in Managed Email Security.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20090129/431af057/attachment-0003.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: CATEGORYLIST.csv
Type: application/octet-stream
Size: 283 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/tutor/attachments/20090129/431af057/attachment-0002.obj>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20090129/431af057/attachment-0004.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: CATEGORY.csv
Type: application/octet-stream
Size: 633 bytes
Desc: not available
URL: <http://mail.python.org/pipermail/tutor/attachments/20090129/431af057/attachment-0003.obj>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20090129/431af057/attachment-0005.htm>
More information about the Tutor
mailing list