IdentifiantMot de passe
Loading...
Mot de passe oubli� ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les r�ponses en temps r�el, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

ecriture dans un cvs - espace non demand� [Python 3.X]


Sujet :

Python

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2019
    Messages
    2
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 49
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2019
    Messages : 2
    Par d�faut 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 : S�lectionner tout - Visualiser dans une fen�tre � part
    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 :-)

  2. #2
    Expert confirm�

    Homme Profil pro
    Inscrit en
    Octobre 2008
    Messages
    4 307
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations forums :
    Inscription : Octobre 2008
    Messages : 4 307
    Par d�faut
    Salut,

    C'est parce que tu utilises writerow() qui attend les �l�ments de cette ligne donc le nom est trait� comme une suite d'�l�ments (ou colonnes si tu pr�f�res)

    Fais comme ceci: f_csv.writerow([nom])

  3. #3
    Futur Membre du Club
    Homme Profil pro
    Enseignant
    Inscrit en
    Octobre 2019
    Messages
    2
    D�tails du profil
    Informations personnelles :
    Sexe : Homme
    �ge : 49
    Localisation : France, Is�re (Rh�ne Alpes)

    Informations professionnelles :
    Activit� : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2019
    Messages : 2
    Par d�faut
    Merci beaucoup pour ta r�ponse, �a fonctionne en effet.
    Et en effet, maintenant que je lis attentivement, les crochets apparaissent bien dans les exemples de la Doc....

    Merci encore

+ R�pondre � la discussion
Cette discussion est r�solue.

Discussions similaires

  1. [XL-2013] Probl�me d'espace non conserv� dans une m�thode text to colonns
    Par rom94000 dans le forum Macros et VBA Excel
    R�ponses: 12
    Dernier message: 23/04/2018, 08h44
  2. [11gR2] DELETE dans une table : espace d�finitivement perdu ou non ?
    Par Ikebukuro dans le forum Administration
    R�ponses: 5
    Dernier message: 18/05/2016, 14h14
  3. ajout non demand� dans un vector sous visual studio 2008
    Par touftouf57 dans le forum SL & STL
    R�ponses: 3
    Dernier message: 10/12/2010, 20h42
  4. Espace non identifi� dans une balise LI sur IE7
    Par BLACKFIRE972 dans le forum Balisage (X)HTML et validation W3C
    R�ponses: 13
    Dernier message: 03/09/2009, 13h48
  5. R�ponses: 2
    Dernier message: 26/09/2003, 14h51

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo