-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpython_presences.py
More file actions
63 lines (58 loc) · 2.63 KB
/
python_presences.py
File metadata and controls
63 lines (58 loc) · 2.63 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
"""
Remise à niveau en informatique - Programmation en Python
Auteur : Blandine Maison
"""
import csv # nécessaire pour la gestion de fichiers csv
import sys # nécessaire pour avoir des précisions sur les erreurs se produisant
#lors d'un accès fichier
import os # nécessaire pour la gestion de dossiers
def lire_fichier_csv( nom_fichier, afficher_lignes = False ):
"""
La fonction lire_fichier_csv est un exemple de lecture.
nom_fichier est une chaîne de caractères désignant le nom du fichier à ouvrir
Cette fonction de test permet de compter le nombre de lignes
et éventuellement les lignes elle-même
"""
try:
file_descriptor = open( nom_fichier, "r", encoding="utf-8" )#
csv_reader = csv.reader(file_descriptor, delimiter = ";")
liste = [] # Création d'une liste vide
for ligne in csv_reader:
nb=len(ligne)-1
if ligne[nb-1]!="TOTAL": # Ne pas effacer la cellule total
ligne[nb-1]=ligne[nb] # Copier les valeurs dans la colonne à gauche
del ligne[nb] # supprimer la derniere colonne
liste.append(ligne)
return(liste)
file_descriptor.close()
except:
print("Problème de fichier : ", sys.exc_info()[0])
#permet de retourner des informations sur l'erreur générée
def ecrire_fichier_csv(nom_fichier, contenu):
"""
La fonction ecrire_fichier_csv est un exemple d'écriture.
nom_fichier est une chaîne de caractères désignant le nom du fichier à ouvrir
"""
try:
file_descriptor = open( nom_fichier[:-4]+"_modif.csv", "w", encoding="utf-8" )
csv_writer = csv.writer(file_descriptor, dialect="unix", delimiter = ";")
# dialect "unix" évite l'insertion de lignes vide
for ligne in contenu:
csv_writer.writerow(ligne)
file_descriptor.close()
except:
print("Problème de fichier : ", sys.exc_info()[0])
#permet de retourner des informations sur l'erreur générée
if __name__ == "__main__":
for element in os.listdir('Donnees'):
if os.path.isdir(element):
print("'%s' un ficher" % element)
else:
print("'%s' est un dossier" % element)
liste_fichiers = os.listdir("Donnees/"+element)
for nom_fichier in liste_fichiers:
if "presences" in nom_fichier:
# Tester s'il y a presences dans le nom des fichiers
print(nom_fichier)
a=lire_fichier_csv("Donnees/"+element+"/"+nom_fichier)
ecrire_fichier_csv("Donnees/"+element+"/"+nom_fichier,a)