ecriture dans un cvs - espace non demand�
Bonjour � tous, dans le cadre d'un projet personnel d�entra�nement au calcul pour mes �l�ves, je fais des tests de lecture/�criture de csv.
Voici un essai :
Code:
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
|
#!/usr/bin/env python
# -*- coding: utf-8 -*-
#
# testcsv.py
#
import csv
def verif(nom): #on verifie si le nom rentré existe déjà
with open ('table.csv') as f:
compte_trouve=0 # à l'aide de cette variable
f_csv=csv.reader(f)
en_tetes=next(f_csv)
for ligne in f_csv:
print (ligne[0])
if ligne[0]==nom:
print ("compte existant")
compte_trouve=1 # qui est censée changer de valeur si la condition est remplie
lecture(nom)
if compte_trouve==0: # si la variable est toujours à 0
ecriture(nom) # on écrit le nom dans la table
def lecture(nom): #fonction de lecture des entrées
with open ('table.csv') as f:
f_csv=csv.reader(f)
en_tetes=next(f_csv)
for ligne in f_csv:
print (ligne)
def ecriture(nom): #fonction d'écriture du nom dans la table
with open ('table.csv','a',newline='') as f:
f_csv=csv.writer(f,delimiter=' ')
f_csv.writerow(nom) # on écrit le nom à la suite des autres.
# PROBLEME, ma variable nom s'écrit dans le fichier n o m
print(nom,' a été écrit')
choix=input ("voulez vous lire le fichier ?")
if choix=='o':
lecture(nom)
else :
print ("bye")
nom=input("nom ")
nom=str(nom)
verif(nom) |
Probl�me, comme vous le voyez en commentaire, ma variable 'nom', m�me (re)convertie en str, est �crit dans mon csv n o m. C'est � dire que si j'entre paul dans mon inpout, je me retrouve avec p a u l dans mon csv. Si bien que ma boucle de v�rification ne marche jamais.
Je dois donc forc�ment faire une erreur dans ma fonction �criture...mais vous l'aurez devin�, je ne la trouve pas.
Merci donc par avance de m'�clairer :-)