Adding column in CSV python and enumerating it -


मेरी CSV दिखता

  जॉन, बम, डॉन 3,4,5 3, 4,5 3,4,5   

मैं इस तरह से सामने आईडी कॉलम जोड़ना चाहता हूं:

  आईडी, जॉन, बम, डॉन 1,3 , 4,5 2,3,4,5 3,3,4,5   

फ़ंक्शन का उपयोग करते हुए, लेकिन मुझे नहीं पता कि कैसे यहाँ तक मेरा कोड है: इनपुट के रूप में खुला ("testi.csv", 'rb') के साथ सीएसवी आयात करें: आउटपुट के रूप में खुला ('temp.csv', 'wb'): पाठक = Csv.reader (input, delimiter = ',') लेखक = csv.writer (आउटपुट, डेलीमीटर = ',') सभी = [] पंक्ति = अगला (रीडर) row.append ('ID') all.append (पंक्ति ) गिनती = 0 रीडर में पंक्ति के लिए: गिनती = = 1 जब गिनती: all.append (पंक्ति) पंक्ति .append (गणक (पाठक, 1)) लेखक को तोड़ दो। लेखक (सभी)

और आउटपुट सभी गलत होता है:

  जॉन, बम, डॉन, आईडी 3,4,5, & lt; 0x7fb2a5728d70 & gt; 3,4,5, & lt; 0x1764370 पर ऑब्जेक्ट एन्यूमरेट करें & gt; 3,4,5, & lt; 0x17643c0 पर ऑब्जेक्ट एन्यूमरेट करें & gt;   

तो आईडी अंत में आता है, जब यह शुरुआत में होना चाहिए, और यह 1,2,3 भी नहीं करता है कुछ अजीब त्रुटि आती है।

मैं अपना प्रश्न हल करने के लिए नीचे दिए गए कोड का सुझाव दे सकता हूं: इनपुट के रूप में खुले ("testi.csv", 'rb') के साथ <पूर्व> आयात सीएसवी आउटपुट के रूप में खुला ('temp.csv', 'wb'): reader = csv.reader (input, delimiter = ' , ') लेखक = सीएसवी। लेखक (आउटपुट, सीमांकक =', ') सभी = [] पंक्ति = अगला (रीडर) पंक्ति.इन्सर्ट (0,' आईडी ') all.append (पंक्ति) के लिए k, पंक्ति को एन्यूमरेट में ( पाठक): all.append ([str (k + 1)] + पंक्ति) लेखक। लेखक (सभी)

अधिक कॉम्पैक्ट कोड हो सकता है:

  सभी = [['आईडी'] + अगला (रीडर)] + [[str (k + 1)] + कश्मीर के लिए पंक्ति, एन्यूमरेट में पंक्ति (रीडर)]   

अपडेट करें (कुछ स्पष्टीकरण):

आपका गलत है एन्यूमरेट करें फ़ंक्शन समझ। एन्यूमरेट को लूप के लिए उपयोग किया जाना चाहिए और जब आप एन्यूमरेट करें फ़ंक्शन परिणाम पर पुनरावृत्त हो जाते हैं तो आपको ट्यूपल्स का क्रम मिलता है, जहां पहले आइटम का आदेश दिया जाता है सूची से आइटम और दूसरा आइटम ही है

लेकिन एन्यूमरेट करें फ़ंक्शन रिटर्न ऑब्जेक्ट () है, इसलिए जब आप इसे स्ट्रिंग को कनवर्ट करते हैं, तो इसे __ repr __ जादू पद्धति को कॉल करने और ऑब्जेक्ट को & Lt; ऑब्जेक्ट की गणना ... & gt;

एक और शब्द, एन्यूमरेट करें लूप में अतिरिक्त काउंटरों से बचने में आपकी मदद करता है जैसे कि आपका count + 1 चर।

इसके अलावा आपके पास बहुत अजीब कोड है:

  गिनते समय: all.append (पंक्ति) पंक्ति .append (गणना (रीडर, 1)) तोड़   

कोड का यह भाग कभी भी एक से अधिक समय तक नहीं किया जा सकता।

Comments

Popular posts from this blog

c# - passing input text from view to contoller with FacebookContext using Facebook app -

ios - Does Core Data autoupdate a many to many relationship on saving -

Calling a C++ function from C# by passing a string with variable size to it -