在Python 2.x中,请务必按照 方式以 模式打开文件。按照您的预期进行csv
编写\r\n
,但是随后的基础Windows文本文件机制切入并将其更改\n
为\r\n
…总效果:\r\r\n
从csv.writer
文档中:
如果 csvfile 是文件对象,则必须在'b'
有区别的平台上使用标志打开它。
实际上说出主要罪魁祸首的名字似乎有些沉默寡言:-)
编辑:正如@jebob在此答案的注释中提到的,并基于@DaveBurton的答案,要在Python 2和3中处理这种情况,您应该执行以下操作:
不幸的是,Python 3的csv模块有点不同,但是此代码可同时在Python 2和Python 3上运行:
if sys.version_info >= (3,0,0):
f = open(filename, 'w', newline='')
else:
f = open(filename, 'wb')
if sys.version_info >= (3,0,0):
f = open(filename, 'w', newline='')
else:
f = open(filename, 'wb')