code: def appendbcolz(table, obj, check_names=True):
      
  
      import bcolz
      import numpy as np
  
      if isinstance(obj, string_types):
          ctbl = bcolz.open(obj, mode='a')
      else:
          assert hasattr(obj, 'append') and hasattr(obj, 'names'), \
              'expected rootdir or ctable, found %r' % obj
          ctbl = obj
  
      # setup
      dtype = ctbl.dtype
      it = iter(table)
      hdr = next(it)
      flds = list(map(text_type, hdr))
  
      # check names match
      if check_names:
          assert tuple(flds) == tuple(ctbl.names), 'column names do not match'
  
      # fill chunk-wise
      chunklen = sum(ctbl.cols[name].chunklen
                     for name in ctbl.names) // len(ctbl.names)
      while True:
          data = list(itertools.islice(it, chunklen))
          data = np.array(data, dtype=dtype)
          ctbl.append(data)
          if len(data) < chunklen:
              break
  
      ctbl.flush()
      return ctbl
docs: Append data into a bcolz ctable. The `obj` argument can be either an
      existing ctable or the name of a directory were an on-disk ctable is
      stored.
  
      .. versionadded:: 1.1.0