Awa Mbaye commited on
Commit
6fb2b70
1 Parent(s): 107b807

Create impactscore.py

Browse files
Files changed (1) hide show
  1. impactscore.py +15 -32
impactscore.py CHANGED
@@ -1,42 +1,25 @@
1
- print("""
2
- 🌍 QU'EST-CE QUE LA NORME ISO 26000 ?
3
-
4
- La norme ISO 26000 propose une grille de lecture de la thématique développement durable ultra-pratique pour déployer une politique RSE d'entreprise bien structurée, qui ne laisse rien de côté. Publiée en 2010, cette norme volontaire a été élaborée en concertation avec près de 90 pays à travers le monde, dont la France.
5
-
6
- COMMENT EST-ELLE STRUCTURÉE ?
7
-
8
- ISO 26000 : Une grille de lecture à 7 entrées
9
-
10
- 🏢 La gouvernance de la structure
11
- 👨‍👩‍👧‍👦 Les droits humains
12
- 🤝 Les conditions et relations de travail
13
- 🌱 La responsabilité environnementale
14
- ⚖️ La loyauté des pratiques
15
- 🛍️ Les questions relatives au consommateur et à la protection du consommateur
16
- 🌍 Les communautés et le développement local.
17
- Source AFNOR : www.afnor.org/developpement-durable/demarche-iso-26000/
18
- """)
19
-
20
  from data_manager import get_data
21
 
22
- def classify_actions_rse_IMPACTSCORE(data):
23
  data, _ = get_data() # Récupérer les données depuis data_manager.py
24
-
25
  criteria = {
26
- "Initiatives pour réduire l'empreinte carbone": [],
27
- "Amélioration des conditions de travail": [],
28
- "Promotion du recyclage": [],
29
- "Autres": []
30
  }
31
 
 
32
  keywords = {
33
- "Initiatives pour réduire l'empreinte carbone": ["empreinte carbone", "réduction des émissions", "transition énergétique"],
34
- "Amélioration des conditions de travail": ["conditions de travail", "santé et sécurité au travail", "équilibre vie professionnelle"],
35
- "Promotion du recyclage": ["recyclage", "gestion des déchets", "économie circulaire"],
36
  }
37
 
38
  for record in data:
39
  action_rse = record.get("action_rse", "").lower()
 
40
  company_info = {
41
  "name": record.get("nom_courant_denomination", "N/A"),
42
  "action_rse": action_rse,
@@ -45,13 +28,13 @@ def classify_actions_rse_IMPACTSCORE(data):
45
  }
46
  found_category = False
47
  for criterion, key_phrases in keywords.items():
48
- if any(key_phrase in action_rse for key_phrase in key_phrases):
49
  criteria[criterion].append(company_info)
50
  found_category = True
51
  break # Assuming each action belongs to one category only
52
 
53
- # Si l'action n'a pas été classifiée dans une catégorie existante, la placer dans "Autres"
54
  if not found_category:
55
- criteria["Autres"].append(company_info)
56
 
57
- return criteria
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
  from data_manager import get_data
2
 
3
+ def classify_actions_rse_impact_score(data):
4
  data, _ = get_data() # Récupérer les données depuis data_manager.py
5
+
6
  criteria = {
7
+ "Impact élevé": [],
8
+ "Impact moyen": [],
9
+ "Impact faible": [],
10
+ "Non évalué": []
11
  }
12
 
13
+ # Keywords for each impact score category to help in classifying the actions
14
  keywords = {
15
+ "Impact élevé": ["impact élevé", "fort impact", "très significatif"],
16
+ "Impact moyen": ["impact moyen", "moyen impact", "modéré"],
17
+ "Impact faible": ["impact faible", "faible impact", "peu significatif"]
18
  }
19
 
20
  for record in data:
21
  action_rse = record.get("action_rse", "").lower()
22
+ impact_score = record.get("impact_score", "").lower()
23
  company_info = {
24
  "name": record.get("nom_courant_denomination", "N/A"),
25
  "action_rse": action_rse,
 
28
  }
29
  found_category = False
30
  for criterion, key_phrases in keywords.items():
31
+ if any(key_phrase in impact_score for key_phrase in key_phrases):
32
  criteria[criterion].append(company_info)
33
  found_category = True
34
  break # Assuming each action belongs to one category only
35
 
36
+ # If the action hasn't been classified into an existing category, place it in "Non évalué" (Not evaluated)
37
  if not found_category:
38
+ criteria["Non évalué"].append(company_info)
39
 
40
+ return criteria