J'essaie d'utiliser Python 3.2 sur un ordinateur Windows pour écrire un simple fichier CSV, mais je n'ai pas de chance. De l'csv module documentation for Python 3.2:Python3: écrire des fichiers csv
>>> import csv
>>> spamWriter = csv.writer(open('eggs.csv', 'w'), delimiter=' ',
... quotechar='|', quoting=csv.QUOTE_MINIMAL)
>>> spamWriter.writerow(['Spam'] * 5 + ['Baked Beans'])
>>> spamWriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam'])
produit un fichier à chaque ligne terminée par la séquence d'octets \r\r\n
, donc il semble que chaque ligne a une ligne vide supplémentaire lorsque vous ouvrez avec, par exemple, MS Excel. Ce n'est pas un "fichier CSV".
Remarque, si je tente le same example for Python 2.7 en Python 3.2 (où la grande différence est 'w'
vs 'wb'
pour le mode de fichier), je reçois une erreur lorsque je tente spamWriter.writerow
:
Traceback (most recent call last): File "", line 1, in TypeError: 'str' does not support the buffer interface
Comment puis-je écrire un simple fichier CSV à partir de Python 3.2 sur un ordinateur Windows?
le problème semble être spécifique à Windows . Fonctionne bien sur Linux. – phihag