'Attempt to parse and return the given value based on the given type.
:param val: the column value to parse (often a string)
:param type: the string type \'name\' used to find the appropriate parser
:returns: the parsed value
or `value` if no `type` found in `parsers`
or `None` if there was a parser error (ValueError)'

def parse_value(self, val, type):

    if ((type == 'str') or (type is None)):
        return val
    try:
        return self.parsers[type](val)
    except KeyError:
        pass
    except ValueError:
        return None
    return val
