'Set the column filter criteria.
Args:
col:       Filter column (zero-indexed).
criteria:  Filter criteria.
Returns:
Nothing.'

def filter_column(self, col, criteria):

    if (not self.autofilter_area):
        warn('Must    call    autofilter()    before    filter_column()')
        return
    try:
        int(col)
    except ValueError:
        col_letter = col
        (_, col) = xl_cell_to_rowcol((col + '1'))
        if (col >= self.xls_colmax):
            warn(("Invalid    column    '%s'" % col_letter))
            return
    (col_first, col_last) = self.filter_range
    if ((col < col_first) or (col > col_last)):
        warn(("Column    '%d'    outside    autofilter()    column    range    (%d,    %d)" % (col, col_first, col_last)))
        return
    tokens = self._extract_filter_tokens(criteria)
    if (not ((len(tokens) == 3) or (len(tokens) == 7))):
        warn(("Incorrect    number    of    tokens    in    criteria    '%s'" % criteria))
    tokens = self._parse_filter_expression(criteria, tokens)
    if ((len(tokens) == 2) and (tokens[0] == 2)):
        self.filter_column_list(col, [tokens[1]])
    elif ((len(tokens) == 5) and (tokens[0] == 2) and (tokens[2] == 1) and (tokens[3] == 2)):
        self.filter_column_list(col, [tokens[1], tokens[4]])
    else:
        self.filter_cols[col] = tokens
        self.filter_type[col] = 0
    self.filter_on = 1
