Script python pour changer des colonnes en lignes

Rauro - 23 avril 2013 à 21:17
MichelFJM Messages postés 18 Date d'inscription samedi 4 juin 2005 Statut Membre Dernière intervention 29 mai 2013 - 15 mai 2013 à 13:51
Bonjour,

Je débute en python et j'ai un fichier de données comme ca
770
2.9487 3.0201 2.9836 3.0886 3.0917 58.0524,
12.2500 13.0694 0.8328 0.0000 0.2122 0.3553,
0.3830 0.8457 0.2034 0.1276 0.1327 0.1582,
0.8069 0.8391 0.4083 46.2379 107.8463 232.4864,
126.9278 160.8239 118.2700 3.0500 3.8200 3.1900,
3.8200 2.0300 0.4000 3.5006 1.8034 2.2998,
118.0491 20.4488 0.3769 7156.0156 -7071.5156 3.2677,

J'aimerai le transformer, en créant un nouveau fichier, pour tout mettre sur une même ligne. J'ai donc fait un petit script:

source = open("Toto.csv", "r")
destination= open("out.csv","w")

lecture=source.readlines()

for n in range(0,7,1):
destination.write(lecture[n])
source.close()
destination.close()

Mon problème est que ce que j'ai codé ne fait que recopier à l'identique mon fichier et ne me met pas tout à ligne. Comment pourrais-je faire? De plus j'aimerais pouvoir supprimer les virgules qui se situent à chaque fin de ligne. J'ai vu sur le forum qu'il existe un module .csv mais je ne sais pas l'utiliser et je me suis dit que c'était surement possible sans.

Merci d'avance pour votre aide!

1 réponse

MichelFJM Messages postés 18 Date d'inscription samedi 4 juin 2005 Statut Membre Dernière intervention 29 mai 2013
15 mai 2013 à 13:51
readlines, comme readline laisse les \n des fin de ligne.
Il faut donc les enlever
par exemple :
source = open("Toto.csv", "r")
destination= open("out.csv","w")
content=source.read()
newcontent=content.replace('\n','').replace(',','')
destination.write(newcontent)


Fred
0
Rejoignez-nous