根据其文档,csv.writer 默认应使用 '\r\n' 作为 lineterminator。
import csv
with open("test.csv", "w") as f:
writer = csv.writer(f)
rows = [(0,1,2,3,4),
(-0,-1,-2,-3,-4),
("a","b","c","d","e"),
("A","B","C","D","E")]
print writer.dialect.lineterminator.replace("\r", "\\r").replace("\n", "\\n")
writer.writerows(rows)
print writer.dialect.lineterminator.replace("\r", "\\r").replace("\n", "\\n")
这打印
\r\n
\r\n
正如预期的那样。但是,创建的 csv 文件使用 lineterminator '\r\r\n'
0,1,2,3,4
0,-1,-2,-3,-4
a,b,c,d,e
A,B,C,D,E
这是一个错误还是我对 csv.writer 的使用有问题?
蟒蛇版本:
ActivePython 2.6.2.2 (ActiveState Software Inc.) 基于 Python 2.6.2 (r262:71600, Apr 21 2009, 15:05:37) [MSC v.1500 32 bit (Intel)] on win32
在 Windows Vista 上