Message61251
Unsupported provider
I use the DictWriter class from the csv module, and
have to manually write the header row. A mindless chore
which I would like to see eliminated. Can we have a
writeheader method added to the class? Something like
the following:
def writeheader(self, headernames = {}):
"""Write a header row"""
if not headernames:
headernames = dict(zip(self.fieldnames,
self.fieldnames))
self.writerow(headernames)
This would let you either use the fieldnames directly,
or supply your own pretty header names.
Would be nice to have another keyword argument to
DictWriter, 'header = False'. If header was true, then
the __init__ method could call writeheader().
At the moment I have to write things like
fields = ['a','b','c']
w = csv.DictWriter(fid, fields)
w.writerow(dict(zip(fields, fields)))
for row in rows:
w.writerow(row)
The proposed changes would let me write the simpler
w = csv.DictWriter(fid, ['a','b','c'], header = True)
for row in rows:
w.writerow(row)
A problem is that including a new keyword argument
would break code which used position to fill the
keyword arguments and to supply arguments through *args
to the writer class. |
|
Date |
User |
Action |
Args |
2008-01-20 09:59:50 | admin | link | issue1537721 messages |
2008-01-20 09:59:50 | admin | create | |
|