Sto provando a utilizzare Python 3.2 su un computer Windows per scrivere un semplice file CSV, tuttavia non ho fortuna. Dal csv module documentation for Python 3.2:Python3: scrittura di file 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'])
produce un file con ogni riga che termina con la sequenza di byte \r\r\n
, così sembra che ogni linea ha una linea aggiuntiva vuoto quando lo si apre con, per esempio, MS Excel. Questo non è un "file CSV".
nota, se provo l'same example for Python 2.7 in Python 3.2 (in cui la grande differenza è 'w'
vs 'wb'
per la modalità file), ottengo un errore quando provo spamWriter.writerow
:
Traceback (most recent call last): File "", line 1, in TypeError: 'str' does not support the buffer interface
Come faccio a scrivere un semplice file CSV da Python 3.2 su un computer Windows?
il problema sembra essere specifico per Windows . Funziona bene su Linux. – phihag