diff --git a/saqc/core/core.py b/saqc/core/core.py index 0409cc35f7f99fb1ed13c0b1862b8cb6e1d58f64..12a3ce059512d4f200f879b2ac5ffde1438ab542 100644 --- a/saqc/core/core.py +++ b/saqc/core/core.py @@ -119,6 +119,24 @@ def _setup(): _setup() +class Accessor: + def __init__(self, obj: Union[DictOfSeries, pd.DataFrame, Flags]): + self._obj = obj + + def __getitem__(self, key): + return self._obj[key] + + @property + def columns(self): + return self._obj.columns + + def __len__(self): + return len(self.columns) + + def __repr__(self): + return self._obj.__repr__() + + class SaQC(FuncModules): def __init__( self, @@ -193,6 +211,14 @@ class SaQC(FuncModules): setattr(out, k, v) return out + @property + def data(self) -> Accessor: + return Accessor(self.evaluate()._data) + + @property + def flags(self) -> Accessor: + return Accessor(self.evaluate()._flags) + def readConfig(self, fname): from saqc.core.reader import readConfig