code: def _read_interleaved(self, f, data_objects):
          
  
          log.debug("Reading interleaved data point by point")
          object_data = {}
          points_added = {}
          for obj in data_objects:
              object_data[obj.path] = obj._new_segment_data()
              points_added[obj.path] = 0
          while any([points_added[o.path] < o.number_values
                    for o in data_objects]):
              for obj in data_objects:
                  if points_added[obj.path] < obj.number_values:
                      object_data[obj.path][points_added[obj.path]] = (
                          obj._read_value(f))
                      points_added[obj.path] += 1
          for obj in data_objects:
              obj.tdms_object._update_data(object_data[obj.path])
docs: Read interleaved data that doesn't have a numpy type