'Special handling for ASCII table columns to convert columns containing
numeric types to actual numeric arrays from the string representation.'

def _convert_ascii(self, column, field):

    format = column.format
    recformat = ASCII2NUMPY[format[0]]
    nullval = str(column.null).strip().encode('ascii')
    if (len(nullval) > format.width):
        nullval = nullval[:format.width]
    dummy = np.char.ljust(field, format.width)
    dummy = np.char.replace(dummy, encode_ascii('D'), encode_ascii('E'))
    null_fill = encode_ascii(str(ASCIITNULL).rjust(format.width))
    dummy = np.where((np.char.strip(dummy) == nullval), null_fill, dummy)
    if (nullval != ''):
        dummy = np.where((np.char.strip(dummy) == ''), null_fill, dummy)
    try:
        dummy = np.array(dummy, dtype=recformat)
    except ValueError as exc:
        indx = self.names.index(column.name)
        raise ValueError('{};    the    header    may    be    missing    the    necessary    TNULL{}    keyword    or    the    table    contains    invalid    data'.format(exc, (indx + 1)))
    return dummy
