lecture/écriture de fichier texte et conversion en données numériques pour création courbes&calculs
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

lecture/écriture de fichier texte et conversion en données numériques pour création courbes&calculs



  1. #1
    invited08b581e

    lecture/écriture de fichier texte et conversion en données numériques pour création courbes&calculs


    ------

    Bonjour,

    J'ai une série de fichiers texte que je dois traiter pour créer des courbes et faire des calculs en PYTHON. Ces fichiers texte sont des listes de données (valeurs décimales avec des VIRGULES) séparées par des espaces, qui sont de la forme 1,75892 135,89526 54,8560 .
    J'ai réussi à dans un premier temps récupérer les données et les transformer en fichier csv (mais pas à les réécrire et les enregistrer dans le fichier source). Et dans un deuxième temps remplacer les virgules par des points. Cependant je n'ai pas réussi à effectuer les deux actions à la suite car elles ne s'appliquent pas aux mêmes types (type liste et type csv ?).
    Merci de votre aide précieuse

    Voici un bout des codes :

    Code:
    # Lecture des fichiers texte en CSV
    
    # importer les modules
    import csv, math, numpy
    
    # ouvrir et lire le fichier concerne
    fichier ="fichier.txt"
    fichier_lire=open(fichier,"rb")
    
    
    # modifier le fichier en csv et fixer le delimiteur
    fichier_csv = csv.reader(fichier_lire,delimiter=" ")
    # creer une matrice
    tab=list(fichier_csv)   # renvoie une valeur de la matrice : tab[Num?ro ligne][Num?ro colonne]
    print type(tab), ("\n\n")
    #d?termine le nombre de ligne ( taille de la matrice nbL*2 NB:0,1,2)
    nbL=0                   # initialisation du nombre de ligne
                            # row correspond ? une ligne, type list, row affiche la totalit?, row[x] affiche la premi?re valeur de la ligne
    for row in fichier_csv:
        print row
        nbL=nbL+1           # calcul du nombre de lignes dans le fichier texte
    
    for i in range(nbL):
            for j in range(2):
                tab[i][j]=tab[i][j].replace(".",",")
    print tab[1][1], type(tab)
    
    
    
    '''contenu=fichier_csv.read()
    
    # creation d'un index pour le remplacement de la virgule par le point pour la lecture des nombres
    index={',':'.'}
    # remplacement puis affichage
    for cle in index:
        contenu=contenu.replace(cle,index[cle])
    print contenu[0] # correspond ? 1 chaine continu (type str)'''
    
    ###################################################################################
    # ecrire le contenu dans le fichier source
    
    
    valeur=[]
    
    
    '''#for ligne in row:
            #valeur.append(row)
            #taille2=taille2+1
            
            # pour chaque ligne du fichier, transformer le type str en numpy str
    
    # imprimer la 1ere valeur de la premi?re colonne : print valeur[0]
    
        
    valeur= numpy.array()
    
    donnees = []
    
    for ligne in fichier_csv:
    	donnees.append(ligne)
    
    
    
    # extraire la premiere colonne et multiplier par pi
    for ligne in fichier_csv:
        if ligne:
            valeur = float(ligne[0])'''
    
    fichier_lire.close()
    
    ########################################################
    
    # ouvrir et lire le fichier concerne
    fichier ="fichier.txt"
    fichier_lire=open(fichier,"rb")
    #fichier_ecrire=open(fichier,"wb")
    contenu=fichier_lire.read()
    
    # creation d'un index pour le remplacement de la virgule par le point pour la lecture des nombres
    index={',':'.'}
    # remplacement puis affichage
    for cle in index:
        contenu=contenu.replace(cle,index[cle])
    print contenu[0] # correspond ? 1 chaine continu (type str)
    
    # modifier le fichier en csv et fixer le delimiteur
    fichier_csv = csv.reader(fichier_lire,delimiter=" ")
    
    for ligne in new_fichier:
        new_fichier = csv.writer(contenu)
        
    
    
    
    taille1=0
    taille2=0
    valeur=[]
    
    for row in fichier_csv:
        print row
        #for ligne in row:
            #valeur.append(row)
            #taille2=taille2+1
            
            # pour chaque ligne du fichier, transformer le type str en numpy str
    
    # imprimer la 1ere valeur de la premi?re colonne : print valeur[0]

    .

    -----
    Dernière modification par gienas ; 12/07/2009 à 15h08. Motif: Rétabl la balise code incomplète, demandée par MaliciaR

  2. #2
    invite17a570c1

    Re : lecture/écriture de fichier texte et conversion en données numériques pour création courbes&cal

    Oula, pourrais-tu utiliser les balises CODE, stp? Surtout que la tabulation chez Python est quelque chose d'essentiel, or ici on ne voit rien du tout...

  3. #3
    JPL
    Responsable des forums

    Re : lecture/écriture de fichier texte et conversion en données numériques pour création courbes&cal

    La balise Code, c'est ici
    Rien ne sert de penser, il faut réfléchir avant - Pierre Dac

Discussions similaires

  1. Matlab Lecture de n fichier .txt et ecriture dans un fichier .xls
    Par invite24513ab6 dans le forum Logiciel - Software - Open Source
    Réponses: 4
    Dernier message: 26/07/2010, 10h12
  2. DEBUTANT matlab lecture de fichier texte remplacement de valeur et matrice
    Par invite9524cf76 dans le forum Logiciel - Software - Open Source
    Réponses: 0
    Dernier message: 23/04/2008, 16h25
  3. [c++] lecture dans un fichier texte
    Par invite9b88e44f dans le forum Logiciel - Software - Open Source
    Réponses: 17
    Dernier message: 24/07/2007, 18h46
  4. Lecture dans un fichier texte en Langage C
    Par invitee5fedd72 dans le forum Logiciel - Software - Open Source
    Réponses: 6
    Dernier message: 16/04/2007, 12h04
  5. [TPE] Ecriture/lecture des données sur un disque dur
    Par invitea2cf63ca dans le forum TPE / TIPE et autres travaux
    Réponses: 3
    Dernier message: 28/02/2007, 14h29
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...