Alors que @john-machin donne une bonne réponse, ce n'est pas toujours la meilleure approche. Par exemple, elle ne fonctionne pas sur Python 3, à moins que vous ne codiez toutes vos entrées vers le rédacteur CSV. De même, elle ne résout pas le problème si le script veut utiliser sys.stdout comme flux.
Je suggère plutôt de définir l'attribut 'lineterminator' lors de la création du rédacteur :
import csv
import sys
doc = csv.writer(sys.stdout, lineterminator='\n')
doc.writerow('abc')
doc.writerow(range(3))
Cet exemple fonctionnera sur Python 2 et Python 3 et ne produira pas les caractères de nouvelle ligne indésirables. Notez, cependant, qu'il peut produire des nouvelles lignes indésirables (en omettant le caractère LF sur les systèmes d'exploitation Unix).
Dans la plupart des cas, cependant, je pense que ce comportement est préférable et plus naturel que de traiter tous les CSV comme un format binaire. Je fournis cette réponse comme une alternative pour votre considération.
1 votes
Duplicata possible de Le rédacteur CSV de Python 2 produit un mauvais terminateur de ligne sous Windows