Ouvrir et modifier un fichier txt python

basmaber Messages postés 23 Date d'inscription mardi 25 octobre 2011 Statut Membre Dernière intervention 4 janvier 2012 - 28 oct. 2011 à 08:20
cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 - 3 nov. 2011 à 09:38
Bonjour,
je suis débutante en python et la j essaye de faire un programme qui permet d'ouvrir un fichier txt et comparer les valeur de ce fichier et apres créer deux tableau et les enregistrer dans deux fichiers differents ,le probleme c'est qu'ils m'enregistrent juste la derniere ligne de chaque tableau voila le code que j'ai fai.


#Ouverture du fichier source

import os
os.chdir("C:")
os.chdir("C:/Documents and Settings")
os.chdir("C:/Documents and Settings/Admin")
os.chdir("C:/Documents and Settings/Admin/Bureau")
os.chdir("C:/Documents and Settings/Admin/Bureau/Basma")
os.chdir("C:/Documents and Settings/Admin/Bureau/Basma/range")

#Importer un fihier texte

fichier = open('../range/range.txt','r')
fichier
liste =[]

#Affichage

for ligne in fichier.readlines():
listeValeur = ligne.split()
listeValeurF=[float(x) for x in listeValeur]
liste.append(listeValeurF)
for i, ligne in enumerate(fichier):
liste.append(ligne)
del(liste[i])
print liste
normalliste = []
depasseliste= []
A=[ 'Col1','Col2','Col3','Col4']
i = 0
j = 0
k=1
I=[]
l=0

import numpy
import csv

a=numpy.array(liste)
print "Veuillez entrer la limite inférieure:",
a = input ()
print "veuillez entrer la limite supréieure:",
b=input ()
#Comparer les données
for i in range (0,4):
I=liste[i]
print 'Indicateur I',k, I
for j in range (0,4):
if liste[i][j]< a or liste[i][j] > b:
depasseliste.append (liste[i][j])

else :
normalliste.append (liste[i][j])


# créer un nouveau fichier

print 'I',k,' :fonctionnement normal',normalliste
c = csv.writer(open("fichier3.csv","wb"))
c.writerow(A)
c.writerows ([normalliste ])
normalliste=[]

print 'I',k,' :nombres qui depassent la consigne',depasseliste
ci = csv.writer(open("fichier4.csv","wb"))
ci.writerow(A)
ci.writerows ([depasseliste,])
depasseliste=[]
i=i+1
j=j+1
k=k+1

1 réponse

cs_laurent1024 Messages postés 987 Date d'inscription mardi 31 mai 2005 Statut Membre Dernière intervention 30 août 2012 24
3 nov. 2011 à 09:38
Bonjour.
As tu essayé de virer les crochets dans tes writerows ?
c.writerows (normalliste)
...
ci.writerows (depasseliste) 
0