code: def write_cols(self, sid, dts, cols, invalid_data_behavior='warn'):
          
          if not all(len(dts) == len(cols[name]) for name in self.COL_NAMES):
              raise BcolzMinuteWriterColumnMismatch(
                  "Length of dts={0} should match cols: {1}".format(
                      len(dts),
                      " ".join("{0}={1}".format(name, len(cols[name]))
                               for name in self.COL_NAMES)))
          self._write_cols(sid, dts, cols, invalid_data_behavior)
docs: Write the OHLCV data for the given sid.
          If there is no bcolz ctable yet created for the sid, create it.
          If the length of the bcolz ctable is not exactly to the date before
          the first day provided, fill the ctable with 0s up to that date.
  
          Parameters
          ----------
          sid : int
              The asset identifier for the data being written.
          dts : datetime64 array
              The dts corresponding to values in cols.
          cols : dict of str -> np.array
              dict of market data with the following characteristics.
              keys are ('open', 'high', 'low', 'close', 'volume')
              open : float64
              high : float64
              low  : float64
              close : float64
              volume : float64|int64