"Monte Milanuk" <memila...@gmail.com> wrote
(104, None, u'Sylvester', None, u'Evans', None, u'527-9210 Proin
Av.', u'Liberal', u'VT', u'24742', u'1-135-197-1139',
u'vehicula.pellentes...@idmollis.edu', u'2010-07-13 22:52:50',
u'2010-07-13 22:52:50')
At first I was having fits as str.join() was giving me a 'NoneType
error'. I found one way around that, by processing the results so
the 'None' values got omitted from the list by the time they got to
str.join().
Keep the storage and manipulation of data separate from the
display of that data. That is an important and fundamental principle
of data processing. Store the data with the nulls. Display the data
without.
values omitted really messed with the list order which I was
depending on i.e. list[5] could be different fields depending on how
many 'None'
And that is why.
values had been omitted. And if I didn't omit them, when I printed
out the user name in the format 'first''middle''last' from the above
record,
You need a display function that can strip out the nulls as needed.
A simple list comprehension or generator expression would work
in this case:
print ' '.join(str(field) for field in data if field is not 'None')
If you use a Class to model your data you can write a __str__() method
that does the intellifgent production of a string fit for printing.
Then you just
print the records as normal. But for this scenario the complexity of
building
a class may not be worth it.
The key principle is do not try to store your data in a display
format.
HTH,
--
Alan Gauld
Author of the Learn to Program web site
http://www.alan-g.me.uk/
_______________________________________________
Tutor maillist - Tutor@python.org
To unsubscribe or change subscription options:
http://mail.python.org/mailman/listinfo/tutor