code: def add_column(self, fieldname, column, align="c", valign="t"):
  
          
  
          if len(self._rows) in (0, len(column)):
              self._validate_align(align)
              self._validate_valign(valign)
              self._field_names.append(fieldname)
              self._align[fieldname] = align
              self._valign[fieldname] = valign
              for i in range(0, len(column)):
                  if len(self._rows) < i+1:
                      self._rows.append([])
                  self._rows[i].append(column[i])
          else:
              raise Exception("Column length %d does not match number of rows %d!" % (len(column), len(self._rows)))
docs: Add a column to the table.
  
          Arguments:
  
          fieldname - name of the field to contain the new column of data
          column - column of data, should be a list with as many elements as the
          table has rows
          align - desired alignment for this column - "l" for left, "c" for centre and "r" for right
          valign - desired vertical alignment for new columns - "t" for top, "m" for middle and "b" for bottom