-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathtest_csv.py
More file actions
44 lines (35 loc) · 1.37 KB
/
test_csv.py
File metadata and controls
44 lines (35 loc) · 1.37 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
# ex : python3 test_csv.py -f fr-esr-ecoles_doctorales_annuaire.csv
import csv, argparse
from sys import exit
parser = argparse.ArgumentParser(description="Ajout de fichier à tester")
parser.add_argument('-f', nargs=1, help='Envoie de fichiers à tester')
parser.add_argument('-c', action='store_true', help='Afficher uniquement les colonnes')
args = parser.parse_args()
if(args.f == None):
print("erreur, pas de fichier à vérifier")
quit
nbentree = 0
test = dict()
with open(args.f[0]) as csvfile:
# le delimiter permet de définir les entrée
# le quotechar sépare les colonnes
reader = csv.reader(csvfile, delimiter='\n')
if(args.c == True):
for row in reader:
trow = csv.reader(row, delimiter=';')
print("il y a {} colonnes".format(len(list(trow)[0])))
trow = csv.reader(row, delimiter=';')
print("colonnes : \n")
for t in list(trow)[0]:
print(t)
break
else:
for row in list(reader)[1:]:
trow = csv.reader(row, delimiter=';')
test[len(list(trow)[0])] = True
nbentree+= 1
csvfile.close()
if(args.c != True):
print("Nombre d'entrée à traiter : " + str(nbentree))
if(len(test) > 1):
print("attention, il y a {0:2d} type d'entrées, le fichier est possiblement corrompu".format(nbentree))