On 19/03/2006 2:30 PM, Kent Johnson wrote: > John Machin wrote: > >> On 19/03/2006 8:31 AM, Kent Johnson wrote: >> >>> How does xlrd compare with pyexcelerator? At a glance they look >>> pretty similar. >>> >> >> I have an obvious bias, so I'll just leave you with a not-very-PC >> analogy to think about: >> >> Depending on the ambient light and the quantity of mead drunk in the >> hall, Helen of Troy and Grendel's mum might at a glance look pretty >> similar, too. Perhaps a more thorough investigation is needed. What >> about your requirements: a partner for the graduation ball, or someone >> to lift the truck off you when the jack collapses? > > > That didn't shed much light. I'm interested in your biased opinion, > certainly you must have had a reason to write a new package. > > I don't have current requirements for this, I'm curious.
* It's not new. First public release was on 2005-05-15. When I started writing it, there was no pure-Python Excel reading facility available at all. Roman Kiseliov's pyExcelerator was first announced on c.l.py.ann on 2005-03-22 (write only) and later with an import facility on 2005-05-12. * I wrote it because I needed to get data out of Excel spreadsheets in a production environment. I had tried COM, ODBC, and manual save-as-CSV and all those approaches were unsatisfactory in terms of reliability and robustness. * Creating Excel files: xlrd doesn't do this. If you have Python 2.4, pyExcelerator is the best choice. The alternative is PyXLWriter which works with Python 2.2 onwards but is no longer maintained and writes only the older Excel 5.0 / Excel 95 file format (no Unicode support, limited to 16K rows). * Herewith the biased comparison: [I've CCed Roman on this & the previous posting, by the way] ** Python versions: xlrd 2.1 to 2.4, pyExcelerator 2.4 only ** Excel file versions: xlrd 3.0 onwards, pyExcelerator 5.0 onwards [I doubt there are many 3.0, 4S and 4W files hanging about but I had some Excel 4.0 files so I did it as a jeu d'esprit] ** Date support: Excel stores dates as real numbers of days sort-of since some variable date ... a long shocking story, read the xlrd docs. xlrd puts considerable effort into examining the formats used by number cells so that they can be classifed as date or not-date. It provides functions for converting between Excel date numbers and datetime tuples. ** Speed: On a 3.2GHz Intel P4 with 1 GB of RAM, xlrd loads a 128 Mb spreadsheet [yes sir, real live user data] in a little over a minute, while pyExcelerator takes a little over 3 minutes. Taking out half of that memory doesn't bother xlrd at all, but ... ** Memory footprint: pyExcelerator can use from 2.5 to 4 times as much memory as xlrd. ** Docs: xlrd has docs. Hoping that shed some light :-) Cheers, John -- http://mail.python.org/mailman/listinfo/python-list