What is Python Excels?

It’s time to give back. And get back. I’ve been Googling your blogs, your wikis, your stackoverflows for years. Grabbing a program here, a snippet there, and using it to build my scripts that do anything from prepping SAP data for an Excel worksheet pivot table, to dumping tables from Oracle DB XE into a spreadsheet, to formatting time card data from a restaurant POS system, to summing times from an Optical Proximity Correction log file, to characterizing random behavior in a Critical Area simulator, to constructing a QA test flow for an automatic scan test pattern generation and insertion tool suite, to dozens of other minor tasks I’ve long forgotten. Thanks for your postings, your hints, your ideas and your links to other helpful pages. I can only hope that a few people find my postings useful. If you like what you see, let me know.

I got into Python a few years back, an unrequited Perl lover who lost patience and faith waiting for Perl 6 to make its appearance. I’ve written hundreds of Perl scripts, and it was my tool of choice for many years. Perl is an amazing, vexing language, still used very very heavily in the Electronic Design Automation industry where I work. For me, I wondered what else was out there, and after taking a sojourn into the world of Ruby, I was able to conquer my ridiculous aversion to white space and arrived in the world of Python.

I’ll be sharing some ideas from the Python programs I’ve written, and talk about what problems were solved. I like to share work that is as complete as possible, so in most cases you should be able to download the script and try it right away for yourself. We won’t be using the latest, most bleeding edge version of Python, because some of the scripts require other modules that may not be available yet in the latest release. Maintaining good Pythonic style is important, and I try my best, but if you spot something in my code that could be done better, leave a comment and share your knowledge.

So sit back and let’s get ready to write some Python!

(This post originally published July 3, 2009)