5 votes

Comment écrire un tuple de tuples dans un fichier CSV à l'aide de Python ?

J'ai un tuple de tuples

import csv
A = (('Max', 3 ,' M'),('bob',5,'M'),('jane',6,'F'))
result = open("newfile.csv",'wb')
writer = csv.writer(result, dialect = 'excel')
writer.writerow(A)
result.close

Cela écrit un fichier CSV avec des lignes avec A[0], A[1] et A[2] . Ce que je veux, c'est une ligne avec le nom, l'âge et le sexe, qui a les valeurs correspondantes.

11voto

eumiro Points 56644

Écrivez toutes les lignes en une seule fois :

writer.writerows(A)

au lieu de

writer.writerow(A)

Le fichier newfile.csv ressemble maintenant à ceci :

Max,3, M
bob,5,M
jane,6,F

De plus, ajoutez () à votre dernière ligne, c'est un appel de fonction : result.close() .

Si vous êtes sous Python 2.6 ou plus récent, vous pouvez utiliser ce formulaire :

import csv
A = (('Max', 3, 'M'),('bob', 5, 'M'),('jane', 6, 'F'))
with open('newfile.csv', 'wb') as result:
    writer = csv.writer(result, dialect='excel')
    writer.writerows(A)

0voto

prongs Points 2209

Je ne suis pas sûr d'avoir bien compris, mais je pense que ceci va vous aider :

    print >>f, "\n".join([",".join(x) for x in A]);

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X