Próbuję użyć Python 3.2 na komputerze z systemem Windows, aby napisać prosty plik CSV, ale nie mam szczęścia. Z csv module documentation for Python 3.2:Python3: pisanie plików 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'])
produkuje plik z każdej linii rozwiązana przez sekwencję bajtów \r\r\n
, więc wygląda na to każda linia ma dodatkowy pusty wiersz po otwarciu go, na przykład MS Excel. To nie jest "plik CSV".
Uwaga, jeśli staram się same example for Python 2.7 w Pythonie 3.2 (gdzie duża różnica jest 'w'
vs 'wb'
dla trybu pliku), pojawia się błąd przy próbie spamWriter.writerow
:
Traceback (most recent call last): File "", line 1, in TypeError: 'str' does not support the buffer interface
Jak mogę napisać prosty plik CSV z Python 3.2 na komputerze z systemem Windows?
problem wydaje się być Windows specyficznych . Działa dobrze na Linuksie. – phihag