'A matrix of rows and columns, where each row and column can be retrieved as a list.
Values can be any kind of Python object.'

def __init__(self, rows=[], fields=None, **kwargs):

    if (rows.__class__.__name__ == 'ndarray'):
        rows = rows.tolist()
    self.__dict__['_rows'] = DatasheetRows(self)
    self.__dict__['_columns'] = DatasheetColumns(self)
    self.__dict__['_m'] = 0
    list.__init__(self)
    CSV.__init__(self, rows, fields, **kwargs)
