#!/usr/bin/env catnip
# Transformation CSV simple
# Note: Pour manipulation CSV réelle, utilisez Python + pandas
# Ce script montre le cas d'usage standalone : transformation data simple
struct Person {
name;
age;
city;
status;
}
# Données simulées (en production, charger depuis fichier)
data = list(
Person("Alice", 28, "Paris", "standard"),
Person("Bob", 35, "Lyon", "standard"),
Person("Charlie", 22, "Paris", "standard"),
)
# Filtrer : âge > 25
filtered = fold(
data,
list(),
(acc, person) => {
if person.age > 25 { acc + list(person) } else { acc }
}
)
# Transformer : ajouter status
transformed = fold(
filtered,
list(),
(acc, person) => {
acc + list(Person(person.name, person.age, person.city, "senior"))
}
)
# Afficher résultat
print("Personnes > 25 ans :")
for person in transformed {
print(f" - {person.name} ({person.age}) de {person.city} [{person.status}]")
}
# Retourner nombre de résultats
len(transformed) # → 2