list to tuple conversion
sc
nospam at spamhaters.com
Wed Oct 1 03:51:33 EDT 2008
clp:
Thanx to a recent thread I am able to have a print string
with a variable number of formatters -- what I now lack for
the creation of an elegant print statement is a tuple --
following is the code, the last line of which does not work:
<code>
#!/usr/bin/python
import xml.sax
import eaddyhandler
parser = xml.sax.make_parser()
h = eaddyhandler.EAddyHandler()
parser.setContentHandler(h)
parser.parse(".ea.xml")
for i in range(1, len(h.m)):
k = "r%06d" % i
col = len(h.m[k])
if col > 2 and h.m[k][0] > " ":
print (col * '%-30s') % h.m[k]
</code>
What's going on is I have an oocalc spreadsheet for
e-addresses -- column 1 has the name, and then I keep
adding e-addresses for ppl when they get new ones, as
successive entries on their row, meaning each row has
a variable number of e-address columns. I have an xml
extractor that runs before this script using
odf.opendocument, which works famously.
My class, EAddyHandler, also works, and builds its dictionary
of rows in 'm', forgive me, no flames please, I needed a
short name for the dictionary I have to type it so many times.
The key to 'm' is an 'r' + row number, so I can get
stuff out of it and it's still in the right order, fun
with dictionaries.
What I was hoping for was something that could vary the
source for the print statement as cleanly as the 'col'
multiplication creates the print format, but the list,
'h.m[k]' is not a tuple, it's a list, and I'm just not
quite where I am trying to get with this.
If there were a builtin function that took a list and
returned a tuple, I'd be there, but if there is such a
thing I need someone to point me at it. I can't help
thinking I am missing some obvious construct, and I'll
be advised to go reread the tutorial, but I'm not there,
and if you can take pity on me and point me there, I'll
be your friend for life. Well -- I'll be grateful...
TIA,
Scott
More information about the Python-list
mailing list