【发布时间】:2011-11-04 06:18:18
【问题描述】:
我正在尝试在 Windows 计算机上使用 Python 3.2 来编写一个简单的 CSV 文件,但是我没有运气。来自csv module documentation for 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 3.2 中尝试 same example for Python 2.7(其中最大的区别是 'w' 与 'wb' 用于文件模式),当我尝试 spamWriter.writerow 时会出现错误:
回溯(最近一次调用最后一次):文件“”,第 1 行,类型错误:'str' 不支持缓冲区接口
如何在 Windows 计算机上从 Python 3.2 编写简单的 CSV 文件?
【问题讨论】:
-
问题似乎是特定于 Windows 的。在 Linux 上运行良好。
标签: python windows csv python-3.x