On 03/30/2013 10:41 AM, Dennis Lee Bieber wrote: > On Sat, 30 Mar 2013 13:22:59 +0530, ??????? <ama...@amachu.me> declaimed > the following in gmane.comp.python.general: > >> Consider the scenario, >> >> >> a = 10 >> >> "{0:.2f}".format(a) >> '10.00' >> >> This returns a string 10.00. But what is the preferred method to retain >> 10.0 (float) as 10.00 (float)? >> >> I am trying to assign the value to a cell of a spreadsheet, using >> python-xlwt. I would like to have 10.00 as the value that is right >> aligned. With text it is left aligned. > > That is a matter of the spreadsheet formatting the floating point to > some number of decimal places... Internally it is just saving 1.0E1 > (well, actually, it is saving the binary equivalent). > > I don't believe xlwt gives access to the formatting controls, does > it? [...]
It does. Here is a short example of how to set the numeric formatting of cells. There are more example in the xlwt documentation at https://github.com/python-excel/xlwt/tree/master/xlwt/examples -------- #!/usr/bin/env python2 import xlwt def main(): w = xlwt.Workbook() ws = w.add_sheet('Sheet1') style_money = xlwt.XFStyle() style_money.num_format_str = '[$$-409]#,##0.00;[RED]-[$$-409]#,##0.00' for row in range(6): ws.write(row, 1, 'Test') ws.write(row, 2, 3.123456 - row) ws.write(row, 3, 3.123456 - row, style_money) w.save('test.xls') if __name__ == '__main__': main() -------- > You may have to use the win32 extensions an open an instance of > Excel, then use Excel's library of functions to select the cell and > change formatting. -- http://mail.python.org/mailman/listinfo/python-list