Python3: запись csv-файлов

Я пытаюсь использовать Python 3.2 на компьютере под управлением Windows для записи простого CSV-файла, однако мне не везет. Из документации модуля csv для Python 3.2:

>>> 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'])

создает файл с каждой строкой, завершенной последовательностью байт \r\r\n, так что при открытии каждой строки, например, MS Excel, кажется, что в ней есть лишняя пустая строка. Это не "CSV-файл".

Обратите внимание, если я попробую тот же пример для Python 2.7 на Python 3.2 (где большая разница между 'w' и 'wb' для режима файлов), я получу ошибку, когда попробую spamWriter.writeerow:

Traceback (последний звонок был последним): Файл "", строка 1, в TypeError: 'str' не поддерживает интерфейс буфера

Как записать простой CSV-файл с Python 3.2 на компьютер под управлением Windows?

42
задан Mike T 26 August 2011 в 07:19
поделиться