EDIT: Actually best of all:
self.crn, self.course, self.title, self.tipe, self.cr_hours, self.seats,\ self.instructor, self.days, self.begin, self.end, self.location, self.exam = \ [pq(td).text() for td in pyQueryRow.find('td')]
It is assumed that you have imported PyQuery as pq. This avoids the use of indexes at all.
self.crn, self.course, self.title, self.tipe, self.cr_hours, self.seats,\ self.instructor, self.days, self.begin, self.end, self.location, self.exam = \ map(lambda index: get_column(pyQueryRow, index), xrange(0, 12))
or if you want to understand the list:
self.crn, self.course, self.title, self.tipe, self.cr_hours, self.seats,\ self.instructor, self.days, self.begin, self.end, self.location, self.exam = \ [get_column(pyQueryRow, index) for index in xrange(0, 12)]
I donβt know if they are the most idiomatic, but there are definitely less templates.
Also remove crn = course = . You are assigning a class, not an instance.