def pandas_dataframe(self, start, stop, ncol, **kwargs):
try:<EOL><INDENT>int(start)<EOL>int(stop)<EOL><DEDENT>except TypeError:<EOL><INDENT>print('<STR_LIT>')<EOL><DEDENT>try:<EOL><INDENT>ncol = int(ncol)<EOL>return pd.read_csv(six.StringIO('<STR_LIT:\n>'.join(self[start:stop])), delim_whitespace=True, names=range(ncol), **kwargs)<EOL><DEDENT>except TypeError:<EOL><INDENT>try:<EOL><INDENT>ncol = list(ncol)<EOL>return pd.read_csv(six.StringIO('<STR_LIT:\n>'.join(self[start:stop])), delim_whitespace=True, names=ncol, **kwargs)<EOL><DEDENT>except TypeError:<EOL><INDENT>print('<STR_LIT>'.format(type(ncol)))<EOL><DEDENT><DEDENT>
Returns the result of tab-separated pandas.read_csv on
a subset of the file.

Args:
    start (int): line number where structured data starts
    stop (int): line number where structured data stops
    ncol (int or list): the number of columns in the structured
        data or a list of that length with column names

Returns:
    pd.DataFrame: structured data