प्रसंस्करण CSV फ़ाइलों csv.DictReader में # के साथ चिह्नित महान है - लेकिन मैं में (एक लाइन के शुरू में एक हैश द्वारा इंगित), उदाहरण के लिए टिप्पणी लाइनों के साथ CSV फ़ाइलों है:पायथन: छोड़ टिप्पणी लाइनों <a href="http://docs.python.org/2/library/csv.html#csv.DictReader">csv.DictReader</a> साथ
# step size=1.61853 val0,val1,val2,hybridisation,temp,smattr 0.206895,0.797923,0.202077,0.631199,0.368801,0.311052,0.688948,0.597237,0.402763 -169.32,1,1.61853,2.04069e-92,1,0.000906546,0.999093,0.241356,0.758644,0.202382 # adaptation finished
सीएसवी मॉड्यूल doesn't include any way to skip such lines।
मैं आसानी से कुछ हैकी कर सकता था, लेकिन मुझे लगता है कि कुछ अन्य इटरेटर ऑब्जेक्ट के आस-पास एक csv.DicReader को लपेटने का एक अच्छा तरीका है, जो लाइनों को त्यागने के लिए पूर्वप्रवाह है।
कि स्मृति में पूरी फ़ाइल पढ़ा जाएगा। यदि यह बहुत बड़ा नहीं है तो कोई समस्या नहीं है, अन्यथा आप जनरेटर अभिव्यक्ति या 'itertools.ifilter() 'का उपयोग करना चाहेंगे। – Duncan
... या जनरेटर अभिव्यक्ति: 'csv.DictReader (पंक्ति में पंक्ति के लिए पंक्ति अगर row.startswith ('#') नहीं है)' –
@ Pyunon3.6 में itertools की आवश्यकता नहीं है, 'फ़िल्टर() के रूप में 'डिफ़ॉल्ट रूप से एक इटरेटर वापस कर देगा, इसलिए फ़ाइल को स्मृति में लोड नहीं किया जाएगा। –