[Edu-sig] Fwd: Python as Application
Lloyd Hugh Allen
chandrakirti at gmail.com
Thu Oct 27 03:14:36 CEST 2005
Oops --- forgot to reply-to-all
---------- Forwarded message ----------
From: Lloyd Hugh Allen <chandrakirti at gmail.com>
Date: Oct 26, 2005 9:14 PM
Subject: Re: [Edu-sig] Python as Application
To: Arthur <ajsiegel at optonline.net>
On 10/26/05, Arthur <ajsiegel at optonline.net> wrote:
>
>
> > -----Original Message-----
> > From: Lloyd Hugh Allen [mailto:chandrakirti at gmail.com]
> > Sent: Wednesday, October 26, 2005 6:15 AM
> > To: Arthur
> > Cc: Chuck Allison; edu-sig at python.org
> > Subject: Re: [Edu-sig] Python as Application
> >
> >
> > I find Excel (or the TI-83, or other spreadsheet tool) to be a decent
> > planning tool, and then once the project exceeds Excel's capabilities,
> > I turn it into a relational database in Python.
>
> I appreciate Excel in one respect. You recognize when a project exceeds
> Excel's capabilities, and have a "next step". Most folks - in the real
> business world (at least in the world of midsize and small business), don't.
> I am quite convinced I can go into 90% of the businesses out there, and
> improve processes, efficiencies, and organizational dynamics by analyzing
> how Excel is being used, and replace it with more appropriate technology.
> That's in fact largely how I make my living.
...
> I would be quite interested in hearing about your path from Excel to
> relational database with Python. Can you describe your toolset more
> completely.
The guidance departments for the school district in which I teach use
a proprietary, specially written database from the '80s or so in order
to keep track of student records (names, addresses, schedules, etc.).
The county's official policy is that all computers should be running
WinXP, but ironically, this database runs on computers with a maximum
of Win2k because too much DOS has fallen out of XP.
This database program has lots of capabilities, but it is difficult to
set up custom reports for it. It is easy, though, to get the database
to toss out nine huge fixed-width text files with such things as the
course name for each course number, the students' id and name, the
students' id and each course number and section that they are enrolled
in, etc.
I set up an object-oriented database which links the students, the
classes in which they are enrolled, the rooms in which the classes are
held, and the teachers who teach the classes. This allows me to
generate such custom reports as how many students each room and each
teacher will have, say, when the seniors are gone; or on days when all
of the students enrolled in biology will be taking the state biology
assessment. The latter is important because if the biology test is
going on, it's helpful to lump the classes that have three or four
student NOT enrolled in biology together so that only one teacher has
to babysit them for the duration of the test administration.
As a side benefit, my program is able to export the students'
schedules and contact information into Palmpilot format, so that the
assistant principals can ensure that students in the halls are being
truthful when they say that they are in the vicinity of their
third-floor social studies class, and so that they can have the
student's parent's name and phone number at hand when it turns out
that the student was less truthful.
To be fair, my work is derivative of another district employee's work
in perl intended only to do that stuff from the last paragraph. I
can't read perl, especially someone else's perl, so I looked at a few
lines of sample output, at each of the input files, and then sat down
and wrote 1500 lines of code (adding a feature here or there
periodically). It's probably close to time to sit down, start from
scratch, and write 900 lines of code to do the same thing.
As a side note, I generally have to take the text file output from my
program and import it into Excel before anyone else in the building
can use it...I mean, csv is nice and all, but tabbed worksheets can be
really handy for keeping related items together.
More information about the Edu-sig
mailing list