Awa Mbaye commited on
Commit
9ec1855
1 Parent(s): 107b807

Upload ODD.py

Browse files
Files changed (1) hide show
  1. ODD.py +66 -0
ODD.py ADDED
@@ -0,0 +1,66 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ from data_manager import get_data
2
+
3
+ def classify_actions_rse_ODD(data):
4
+ data, _ = get_data()
5
+
6
+ criteria = {
7
+ "Pas de pauvreté": [],
8
+ "Faim zéro": [],
9
+ "Bonne santé et bien-être": [],
10
+ "Éducation de qualité": [],
11
+ "Égalité entre les sexes": [],
12
+ "Eau propre et assainissement": [],
13
+ "Énergie propre et d'un coût abordable": [],
14
+ "Travail décent et croissance économique": [],
15
+ "Industrie, innovation et infrastructure": [],
16
+ "Inégalités réduites": [],
17
+ "Villes et communautés durables": [],
18
+ "Consommation et production responsables": [],
19
+ "Mesures relatives à la lutte contre les changements climatiques": [],
20
+ "Vie aquatique": [],
21
+ "Vie terrestre": [],
22
+ "Paix, justice et institutions efficaces": [],
23
+ "Partenariats pour la réalisation des objectifs": [],
24
+ "Autres": []
25
+ }
26
+
27
+ keywords = {
28
+ "Pas de pauvreté": ["pauvreté", "précarité", "exclusion sociale", "accès aux ressources", "sécurité alimentaire"],
29
+ "Faim zéro": ["faim", "malnutrition", "sécurité alimentaire", "agriculture durable"],
30
+ "Bonne santé et bien-être": ["santé", "bien-être", "accès aux soins", "prévention des maladies"],
31
+ "Éducation de qualité": ["éducation", "alphabétisation", "accès à l'éducation", "formation professionnelle"],
32
+ "Égalité entre les sexes": ["égalité des genres", "droits des femmes", "participation des femmes"],
33
+ "Eau propre et assainissement": ["eau potable", "assainissement", "gestion de l'eau"],
34
+ "Énergie propre et d'un coût abordable": ["énergie propre", "énergies renouvelables", "accès à l'énergie"],
35
+ "Travail décent et croissance économique": ["travail décent", "emploi", "croissance économique"],
36
+ "Industrie, innovation et infrastructure": ["industrie", "innovation", "infrastructures"],
37
+ "Inégalités réduites": ["inégalités", "répartition des richesses", "justice sociale"],
38
+ "Villes et communautés durables": ["villes durables", "communautés durables", "urbanisation"],
39
+ "Consommation et production responsables": ["consommation responsable", "production responsable", "gestion des déchets"],
40
+ "Mesures relatives à la lutte contre les changements climatiques": ["changement climatique", "atténuation", "adaptation"],
41
+ "Vie aquatique": ["océans", "ressources marines", "conservation marine"],
42
+ "Vie terrestre": ["biodiversité", "conservation des écosystèmes", "déforestation"],
43
+ "Paix, justice et institutions efficaces": ["paix", "justice", "institutions"],
44
+ "Partenariats pour la réalisation des objectifs": ["partenariats", "coopération internationale", "engagement"],
45
+ }
46
+
47
+ for record in data:
48
+ action_rse = record.get("action_rse", "").lower()
49
+ company_info = {
50
+ "name": record.get("nom_courant_denomination", "N/A"),
51
+ "action_rse": action_rse,
52
+ "activity": record.get("libelle_section_naf", "N/A"),
53
+ "city": record.get("commune", "N/A")
54
+ }
55
+ found_category = False
56
+ for criterion, key_phrases in keywords.items():
57
+ if any(key_phrase in action_rse for key_phrase in key_phrases):
58
+ criteria[criterion].append(company_info)
59
+ found_category = True
60
+ break
61
+
62
+
63
+ if not found_category:
64
+ criteria["Autres"].append(company_info)
65
+
66
+ return criteria