Alors:
1. Il faut éviter les variables "magiques" du style "Grand Slam", ".csv", "Series". Ici tu ne les utilise qu'une fois donc c'est pas dérangeant mais c'est mieux pour avoir un code propre d'avoir des variables globales. https://twitter.com/Darrkhl/status/1352253609233276932
1. Il faut éviter les variables "magiques" du style "Grand Slam", ".csv", "Series". Ici tu ne les utilise qu'une fois donc c'est pas dérangeant mais c'est mieux pour avoir un code propre d'avoir des variables globales. https://twitter.com/Darrkhl/status/1352253609233276932
2. Comme le suggérait @Eiger_dono , il vaut mieux découper en de plus petites fonctions qui font une tache spécifique. Par exemple tu aurais une tâche "charger fichiers" avec les vérifs liées au csv, une tâche "transformer données" avec le filtre lié au Grand Slam;
Puis une dernière "charger dans bdd". Ce principe est ce qu'on appelle une pipeline d' ETl (Extract Transform Load). @emile_dadou l'expliquera certainement mieux que moi.
3. D'un point de vue algorithmique, il y a surtout l'utilisation de deux boucles qui peuvent être réduites à une seule: quand tu fais "for line in csv_reader", tu as une variable de type string donc pas besoin de passer par une variable "file" tu peux appliquer la suite direct.