File size: 498 Bytes
6e079c7
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import pandas as pd
from src.utils.schema import User
from src.utils.rules import validate_rules

def validate_dataframe(df:pd.DataFrame):
    valid=[]
    errors=[]
    for idx, row in df.iterrows():
      try:
        obj = User(**row.to_dict())
        rules = validate_rules(obj)
        valid.append(obj)
      except Exception as e:
        errors.append((idx,str(e)))
    
    

    

    print(f"Valid rows: {len(valid)}")
    print(f"Failed rows: {len(errors)}\n")
    return valid,errors