पर गलत लाइन टर्मिनेटर उत्पन्न करता है its documentation csv.writer के अनुसार डिफ़ॉल्ट रूप से '\ r \ n' को lineterminator के रूप में उपयोग करना चाहिए।पायथन 2 सीएसवी लेखक विंडोज
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
प्रिंट अपेक्षा के अनुरूप। लेकिन, बनाया सीएसवी फ़ाइल 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.) अजगर 2.6.2 (r262: 71,600, अप्रैल 21, 2009, 15:05:37) के आधार पर [एमएससी v 0.1500 32 बिट (इंटेल)] Win32
पर Windows Vista पर
मैं आपकी समस्या का पुन: उत्पन्न नहीं कर सकता: $ file test.csv test.csv: सीएसएलएफ लाइन टर्मिनेटर –
@lutz: $ प्रॉम्प्ट का मतलब है * एक्स जिसका मतलब है कि टेक्स्ट के बीच कोई अंतर नहीं है (पायथन 2.x में) मोड और बाइनरी मोड; ओपी विंडोज चल रहा है। –
@wierob: .replace (...) को प्रतिस्थापित करें। (...), प्रतिस्थापित करें (...), अंतर्निहित repr() –