Python 2 CSV-Writer erzeugt unter Windows einen falschen Zeilenabschluss
Lautseine Dokumentation csv.writer sollte standardmäßig '\ r \ n' als Lineterminator verwenden.
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")
Dies wird gedruckt
\r\n
\r\n
wie erwartet. Die erstellte CSV-Datei verwendet jedoch den Lineterminator '\ r \ r \ n'.
0,1,2,3,4
0,-1,-2,-3,-4
a,b,c,d,e
A,B,C,D,E
Ist dies ein Fehler oder stimmt etwas mit meiner Verwendung von csv.writer nicht?
Python-Version:
ActivePython 2.6.2.2 (ActiveState Software Inc.) basiert auf Python 2.6.2 (r262: 71600, 21. April 2009, 15:05:37) [MSC v.1500 32 Bit (Intel)] auf Win32
unter Windows Vista