-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDTR_compare_03.py
More file actions
72 lines (60 loc) · 3.07 KB
/
DTR_compare_03.py
File metadata and controls
72 lines (60 loc) · 3.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
# -*- coding: utf-8 -*-
"""
Created on Thu Oct 19 13:18:06 2023
@author: e_sdelai
"""
import pandas as pd
import os
import datetime
import re
# Trouver le chemin absolu du répertoire contenant le script
dir_path = os.path.abspath(os.path.dirname(__file__))
# Concaténer avec le dossier "data" pour spécifier le répertoire d'entrée/sortie par défaut
data_path = os.path.join(dir_path, 'data')
# Récupérer les noms de fichiers Excel dans le dossier
excel_files = [os.path.join(data_path, f) for f in os.listdir(data_path) if f.endswith('.xlsx')]
# Récupérer le nom de chaque fichier et le stocker dans une liste
excel_files_names = [os.path.basename(file) for file in excel_files]
# Importer les deux fichiers Excel comme ensembles
set1 = set(pd.read_excel(excel_files[0]).stack().tolist())
set2 = set(pd.read_excel(excel_files[1]).stack().tolist())
# Créer un ensemble de tous les mots commençant par "DTR"
mots_dtr = set([mot for mot in set1.union(set2) if isinstance(mot, str) and (mot.startswith('DTR')
or re.search('^S\w{7}P', mot))])
nb_DTR_total = len(mots_dtr)
# Trouver le sous-ensemble des mots commençant par "DTR" dans set2
DTR_presents = mots_dtr.intersection(set2)
nb_DTR_presents = len(DTR_presents)
# Trouver le sous-ensemble des mots commençant par "DTR" qui ne sont pas dans set2
DTR_absents = mots_dtr.difference(set2)
nb_DTR_absents = len(DTR_absents)
# Afficher la liste des composants présents et absents
print("Nombre total de référence composants trouvées : ", nb_DTR_total)
print("Nombre de composants présents : ", nb_DTR_presents)
#print("Liste composants présents : ", list(DTR_presents))
print("Nombre de composants absents : ", nb_DTR_absents)
#print("Liste composants absents : ", list(DTR_absents))
DTR_absents_format1 = [str(element) for element in DTR_absents]
DTR_absents_format2 = ', '.join(DTR_absents_format1)
print("Liste composants absents formaté : ", DTR_absents_format2)
# Générer le fichier texte contenant les informations
now = datetime.datetime.now()
date_str = now.strftime("%d/%m/%Y %H:%M:%S")
# Créer un timestamp au format "YYYYMMDD_HHMMSS_"
timestamp = now.strftime('%Y%m%d_%H%M%S')
# Concaténer le timestamp avec le reste du nom de fichier
filename_output = os.path.join(data_path, timestamp + '_resultats_traitement.txt')
with open(filename_output, 'w') as f:
f.write('Date de traitement : {}\n'.format(date_str))
f.write('Auteur : S. DELAIGUE\n')
f.write('Fichiers traités : {}\n'.format(", ".join(excel_files_names)))
f.write('\n')
f.write('Nombre total de références de composants trouvées : {}\n'.format(nb_DTR_total))
f.write('\n')
f.write('Nombre de composants présents : {}\n'.format(nb_DTR_presents))
# On commente l'affichage de la liste des composants présents
# f.write('Liste composants présents : {}\n'.format(list(DTR_presents)))
f.write('\n')
f.write('Nombre de composants absents : {}\n'.format(nb_DTR_absents))
#f.write('Liste composants absents : {}\n'.format(list(DTR_absents)))
f.write('Liste composants absents formaté : {}\n'.format(DTR_absents_format2))