2013-02-03 48 views
18

संभव डुप्लिकेट: When processing CSV data, how do I ignore the first line of data?सीएसवी फ़ाइल का उपयोग कर लूप में पहली पंक्ति (फ़ील्ड) छोड़ें?

मैं अजगर का उपयोग कर रहा CSV फ़ाइल को खोलने के लिए। मैं फॉर्मूला पाश का उपयोग कर रहा हूं लेकिन मुझे पहली पंक्ति छोड़ने की जरूरत है क्योंकि इसमें हेडर है।

अब तक मुझे याद है कि ऐसा कुछ था लेकिन इसमें कुछ याद आ रहा है: मुझे आश्चर्य है कि कोई ऐसा करने के लिए कोड जानता है जिसे मैं करने की कोशिश कर रहा हूं।

kidfile.readline() # skip the first line 
for row in kidfile: 
    #parse the line 
+0

कोई आपको क्यों दिखाएगा लेकिन आपको नोट्स लेने नहीं देगा, और यह आपके प्रश्न के लिए प्रासंगिक क्यों है? – danodonovan

उत्तर

37

शायद आप की तरह कुछ चाहता हूँ लाइन। Bakuriu से कहा उन लोगों के लिए इसके अलावा, मैं जोड़ना होगा:

with open(filename, 'r') as f: 
    next(f) 
    for line in f: 

और:

with open(filename,'r') as f: 
    lines = f.readlines()[1:] 
+3

'अगला' फ़ंक्शन एक बहुत अधिक संक्षिप्त दृष्टिकोण है। – vaerek

73

पहले छोड़ के लिए कई तरीके हैं:

firstline = True 
for row in kidfile: 
    if firstline: #skip first line 
     firstline = False 
     continue 
    # parse the line 

ही परिणाम readline पाश से पहले बुला रहा है हासिल करने के लिए एक अन्य तरीका:

for row in kidfile: 
    if row.firstline = false: # <====== Something is missing here. 
     continue 
    if ...... 
15

(csvreader.next) एक सूची के रूप पाठक का iterable वस्तु की अगली पंक्ति लौटें, के अनुसार पार्स वर्तमान बोलीभाषा

+4

पायथन 3 में, विधि 'पाठक .__ अगला __() 'है, जिसे' अगला (पाठक) 'का उपयोग करके बुलाया जाना चाहिए। – travc