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 :

Ecrire dans un fichier .txt


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Analyse système
    Inscrit en
    Juin 2018
    Messages
    180
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Alimentation

    Informations forums :
    Inscription : Juin 2018
    Messages : 180
    Par défaut Ecrire dans un fichier .txt
    Bonjour à tous,

    Grâce à Python, je souhaite pouvoir créer un fichier .txt récapitulant simplement les données d'un fichier CSV contenant des informations de base du type "NOM", "PRENOM", "DATE_NAISSANCE", "VILLE_NAISSANCE", "AGE". Dans un soucis d'efficacité de la base de données, j'ai décidé de supprimer les apostrophes des mots s'ils en possédaient ("L'auberge" devient "Lauberge").

    J'ai donc importé les données d'un fichier CSV sur Python, et crée le script me permettant de créer le fichier .txt.

    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
     
    import csv
    import re
    import sys
     
    #RECUPERATION DES DONNEES DU FICHIER CSV
     
    liste = []
    with open("data.csv", "r", newline = '') as donnees:
     reader = csv.reader(donnees, delimiter = ";")
     for line in reader:
      liste.append(list(col.replace("'", '') for col in line)) #SUPPRESSION DES "'"
     
    #ECRITURE SUR FICHIER TEXTE
     
    save=sys.stdout
    out = open('result.txt','w')
    sys.stdout=out
     
    for row in liste:
      print(row)
    sys.stdout=save
    out.close()

    En ouvrant mon fichier .txt, je retrouve bien les données de mon fichier CSV :
    ['ZERANO', 'CLAUDE', '29/08/1995', 'LA CIOTAT', '21']
    ['CANINO', 'KEVIN', '21/02/2001', 'SAINT ETIENNE', '14']
    etc.

    Dans le cadre de mon exercice, j'aimerais pouvoir enlever les ' des éléments au format numérique (dans mon exemple, cela concernerait les éléments de la colonne "AGE"). Cela donnerait ceci :

    ['ZERANO', 'CLAUDE', '29/08/1995', 'LA CIOTAT', 21]
    ['CANINO', 'KEVIN', '21/02/2001', 'SAINT ETIENNE', 14]
    etc.

    Malheureusement, je ne sais pas trop comment m'y prendre.

    Merci.

  2. #2
    Membre Expert
    Homme Profil pro
    Enseignant
    Inscrit en
    Juin 2013
    Messages
    1 617
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2013
    Messages : 1 617
    Par défaut
    try except avec int(valeur) ?

  3. #3
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 062
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 062
    Par défaut
    Bonjour,

    Faîtes les essais sur votre interpréteur,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    >>> my_line = ['ZERANO', 'CLAUDE', '29/08/1995', 'LA CIOTAT', '21']
    >>> my_line[-1] = int(my_line[-1])
    >>> my_line
    ['ZERANO', 'CLAUDE', '29/08/1995', 'LA CIOTAT', 21]

Discussions similaires

  1. comment ecrire dans un fichier txt avec WriteFile?
    Par Art19 dans le forum Langage
    Réponses: 13
    Dernier message: 04/07/2007, 15h50
  2. Ecrire dans un fichier txt en 4gl
    Par patriceguic dans le forum Informix
    Réponses: 2
    Dernier message: 07/05/2007, 20h44
  3. Ecrire dans un fichier .txt
    Par chabRRR dans le forum Langage
    Réponses: 3
    Dernier message: 13/03/2007, 19h30
  4. Ecrire dans un fichier .txt
    Par yinyann86 dans le forum Pascal
    Réponses: 17
    Dernier message: 24/11/2006, 13h36
  5. Ecrire dans un fichier txt sans en effacer le contenu
    Par cari dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 14/12/2005, 18h11

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