Bonjour,

pour écrire des fichiers .csv, j'utilisais ce script sous python 2.5 :

pour:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
tableau = [['A', 'B', 'C'],[4.0, 1.1, 1.05],[1.0, 0.6, 1.09]]
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
import os, csv
 
w_file=open(os.path.join('test.csv'), 'wb')
 
c = csv.writer(w_file, delimiter=';')
 
for liste in tableau: c.writerow(liste)
 
w_file.close()
del c
del w_file
ce qui donne en python 3.1 l'erreur :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
TypeError: write() argument 1 must be bytes or buffer, not str
en mettant 'w' dans open(), ça marche.
Mais dans le .csv produit, tableau est écrit une ligne sur deux (j'ai une ligne vide sur deux), ce qui n'était pas le cas en python 2.5 (je pense que ça n'a rien à voir avec la version).
Comment écrire sans saut de ligne ?
Merci par avance.