[Tutor] Handling 'None' (null) values when processing sqlite cursorresults

Christian Witts cwitts at compuscan.co.za
Thu Jul 15 07:37:57 CEST 2010


On 14/07/2010 19:34, Alan Gauld wrote:
>
> "Christian Witts" <cwitts at compuscan.co.za> wrote
>
>>> 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')
>>
>> The problem with that is if you're relying on a set delimiter you are 
>> removing elements so you would be better served by doing `str(field) 
>> if field != None else '' for field in record`
>
> True, although in this case we do seem to have a fixed condition
> since it's the database's representation of null but I originally didn't
> notice the quotes around None. When I fixed that I should have
> changed is to equals..
>
>>     print ' '.join(str(field) for field in data if field != 'None')
>
> But your modification confuses me. can you explain?
> What would the print line look like?
>
> Alan G.
>
> _______________________________________________
> Tutor maillist  -  Tutor at python.org
> To unsubscribe or change subscription options:
> http://mail.python.org/mailman/listinfo/tutor
>

I prefer not to use a space delimiter, generally a pipe |, so the output 
would look a lot like
104||Sylvester||Evans||527-9210 Prion 
Av.|Liberal|VT|24742|1-135-197-1139|vehicula.Pellentesque at idmollis.edu|2010-07-13 
22:52:50|2010-07-13 22:52:50

The reason I suggested that usage instead is because Monte said
 >>> having the 'None' values omitted really messed with the list order 
which I was depending on

So if you're wanting to create a new list which removes the Nones but 
still keeps the same indexing it would be the way to do it, imho.

-- 
Kind Regards,
Christian Witts




More information about the Tutor mailing list