Python 2 CSV writer produces wrong line terminator on Windows -


csv.writer के अनुसार डिफ़ॉल्ट रूप से '\ r \ n' lineterminator का उपयोग करना चाहिए।

  खोलने के साथ सीएसवी आयात करें ("test.csv", "w") as f: writer = csv.writer (f) पंक्तियाँ = [(0,1,2,3,4), (-0, -1) , "बी", "सी", "डी", "ए", "बी", "सी", "डी", "ई"), ("ए", "बी" -3, -4) "ई")] print author.dialect.lineterminator.replace ("\ r", "\\ r")। प्रतिस्थापित करें ("\ n", "\\ n") लेखक। लेखक (पंक्तियाँ) प्रिंट लेखक। ("\ N", "\\ n")  

यह प्रिंट करता है

 

कोड> \ r \ n \ r \ n

के रूप में अपेक्षित लेकिन, सीएसवी-फ़ाइल बनाई गई lineterminator '\ r \ r \ n'

  0,1,2,3,4 0, -1, -2, -3, -4 का उपयोग करता है ए, बी, सी, डी, ई ए, बी, सी, डी, ई   

क्या यह एक बग है या मेरे सीएसवी। लेखक के उपयोग में कुछ गड़बड़ है?

पायथन संस्करण:

सक्रिय Python 2.6.2.2 (सक्रियस्टेट सॉफ़्टवेयर इंक) पायथन 2.6.2 पर आधारित (r262: 71600, 21 अप्रैल 2009, 15:05:37) [एमएससी वी .1500 32 बिट (इंटेल)] win32 पर

पर

पायथन 2.x में, हमेशा आपकी फ़ाइल को बाइनरी मोड में खोलें, जैसा कि दस्तावेज है। \ r \ n लिखते हैं, जैसा कि आप अपेक्षित था, लेकिन फिर अंतर्निहित विंडोज पाठ फ़ाइल तंत्र में कटौती और \ n से में परिवर्तन होता है \ R \ n ... कुल प्रभाव: \ r \ r \ n

दस्तावेज़ से:

यदि < Em> csvfile एक फ़ाइल ऑब्जेक्ट है, इसे प्लेटफॉर्म पर 'b' फ्लैग के साथ खोला जाना चाहिए जहां उसमें कोई अंतर होता है।

ऐसा लगता है वास्तव में मुख्य अपराधी का नाम बोलने के बारे में कुछ मितभाषी होना: -)


Comments

Popular posts from this blog

c# - ListView onScroll event -

PHP - get image from byte array -

Linux Terminal Problem with Non-Canonical Terminal I/O app -