Peter Machell wrote: > Scott David Daniels wrote: > > Peter Machell wrote: > >> ZeD wrote: <An excellent response providing code> > >> > >> Thanks very much ZeD. This will do what I need to. > >> The next step is to do some regex on the phone number to ensure it's > >> local and correct. How can I split these up so each value has a key? > > > > Well, you should try that, unless you intend to get the newsgroup to > > write your code for you. Come back with your efforts and any problems > > you have with them. > > As we say in Australia, fair enough. > I can almost do it this way:
As we say in Australia, it's good to see that you're neither a bludger nor an utter dill/drongo/nong :-) > > for x in bar: Insert some code to show you what you've actually got: print repr(x) > fname = x[0] > if fname == "": > fname == "None" > sname = x[1] > if sname == "": > sname == "None" > > print "<FNAME>"+fname+"</FNAME>"+"<SNAME>"+sname+"</SNAME>" > > Except that I should be using a list and loop to do the null checking, That's *not* a null that you're checking for, mate, it's a zero-length string. > and it still stops when (I think) it hits a blank value: > TypeError: cannot concatenate 'str' and 'NoneType' objects > It's not a "blank value", it's an object None which you get as a substitute for a NULL in the database; it means "no value at all", as opposed to a zero-length string, which is a value. You can test for None by: if thing is None: You can test for both "" and None in one hit by doing this: if not thing: BTW, why do you want to fill in the missing data with the string value "None" (which could conceivably be a valid surname), instead of leaving it blank or empty? Cheers, John -- http://mail.python.org/mailman/listinfo/python-list