From: <jd...@us...> - 2007-12-05 19:27:18
|
Revision: 4629 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=4629&view=rev Author: jdh2358 Date: 2007-12-05 11:27:14 -0800 (Wed, 05 Dec 2007) Log Message: ----------- minor rec2excel enhancements Modified Paths: -------------- trunk/matplotlib/examples/loadrec.py trunk/matplotlib/lib/matplotlib/mlab.py Modified: trunk/matplotlib/examples/loadrec.py =================================================================== --- trunk/matplotlib/examples/loadrec.py 2007-12-05 18:57:54 UTC (rev 4628) +++ trunk/matplotlib/examples/loadrec.py 2007-12-05 19:27:14 UTC (rev 4629) @@ -9,4 +9,6 @@ ax = fig.add_subplot(111) ax.plot(a.date, a.adj_close, '-') fig.autofmt_xdate() + +mlab.rec2excel(a, 'test.xls', colnum=4) show() Modified: trunk/matplotlib/lib/matplotlib/mlab.py =================================================================== --- trunk/matplotlib/lib/matplotlib/mlab.py 2007-12-05 18:57:54 UTC (rev 4628) +++ trunk/matplotlib/lib/matplotlib/mlab.py 2007-12-05 19:27:14 UTC (rev 4629) @@ -2367,7 +2367,7 @@ xlstyle.num_format_str = '#,##;[RED]-#,##' elif isinstance(format, FormatPercent): zeros = ''.join(['0']*format.precision) - xlstyle.num_format_str = '0.%s%;[RED]-0.%s%'%(zeros, zeros) + xlstyle.num_format_str = '0.%s%%;[RED]-0.%s%%'%(zeros, zeros) format.scale = 1. else: xlstyle = None @@ -2376,12 +2376,14 @@ return format - def rec2excel(r, ws, formatd=None, rownum=0): + def rec2excel(r, ws, formatd=None, rownum=0, colnum=0): """ save record array r to excel pyExcelerator worksheet ws starting at rownum. if ws is string like, assume it is a filename and save to it + start writing at rownum, colnum + formatd is a dictionary mapping dtype name -> FormatXL instances The next rownum after writing is returned @@ -2399,6 +2401,12 @@ formatd = dict() formats = [] + font = excel.Font() + font.bold = True + + stylehdr = excel.XFStyle() + stylehdr.font = font + for i, name in enumerate(r.dtype.names): dt = r.dtype[name] format = formatd.get(name) @@ -2406,7 +2414,7 @@ format = defaultformatd.get(dt.type, FormatObj()) format = xlformat_factory(format) - ws.write(rownum, i, name) + ws.write(rownum, colnum+i, name, stylehdr) formats.append(format) rownum+=1 @@ -2419,12 +2427,12 @@ format = formats[i] val = format.toval(val) if format.xlstyle is None: - ws.write(rownum, i, val) + ws.write(rownum, colnum+i, val) else: if safe_isnan(val): - ws.write(rownum, i, 'NaN') + ws.write(rownum, colnum+i, 'NaN') else: - ws.write(rownum, i, val, format.xlstyle) + ws.write(rownum, colnum+i, val, format.xlstyle) rownum += 1 if autosave: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |