pip install colander
python
import colander
python
import colander
class DataSchema(colander.MappingSchema):
id = colander.SchemaNode(colander.Int())
name = colander.SchemaNode(colander.String())
age = colander.SchemaNode(colander.Int(), validator=colander.Range(18, 99))
python
import colander
data = [
{"id": 1, "name": "Alice", "age": 25},
{"id": 2, "name": "Bob", "age": 35},
{"id": 3, "name": "Charlie", "age": 40}
]
schema = DataSchema()
for row in data:
try:
parsed_data = schema.deserialize(row)
print(parsed_data)
except colander.Invalid as e:
print(f"Invalid data: {e}")
python
import colander
class DataSchema(colander.MappingSchema):
id = colander.SchemaNode(colander.Int(), missing=colander.drop)
name = colander.SchemaNode(colander.String(), missing="")
age = colander.SchemaNode(colander.Int(), missing=18, validator=colander.Range(18, 99))
python
import colander
def validate_unique_id(node, value):
if value in ids:
raise colander.Invalid(node, f"ID {value} already exists")
class DataSchema(colander.MappingSchema):
id = colander.SchemaNode(colander.Int(), validator=validate_unique_id)
name = colander.SchemaNode(colander.String())
age = colander.SchemaNode(colander.Int(), validator=colander.Range(18, 99))