import pandas as pd from typing import List def ensure_has_columns(df: pd.DataFrame, columns: List[str]): all_columns = columns # print("all_columns={}".format(all_columns)) # print("df={}".format(df.columns.tolist())) for c in reversed(columns): if not c in df.columns.tolist(): df.insert(0, column=c, value=pd.Series()) # print("df={}".format(df.columns.tolist())) return df def run_filters(filters, obj): for f in filters: if not f(obj): return False return True def any(filters): def f(obj): for f in filters: if f(obj): return True return False return f def all(filters): def f(obj): for f in filters: if not f(obj): return False return True return f