2013-02-03 137 views
18

可能重複: When processing CSV data, how do I ignore the first line of data?使用CSV文件跳過循環中的第一行(字段)?

我使用Python來打開CSV文件。我正在使用公式循環,但我需要跳過第一行,因爲它具有標題。

到目前爲止,我記得是這樣的,但它缺少一些東西:我不知道是否有人知道我正在嘗試做的代碼。

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

爲什麼有人會告訴你,但不讓你做筆記,爲什麼這與你的問題有關? – danodonovan

回答

37

也許你想要的東西,如:

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

的其他方式才達到相同的結果將調用readline循環之前:

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

'next'函數是一個更加簡潔的方法。 – vaerek

73

有很多方法可以跳過第一線。除了那些由Bakuriu說,我想補充:

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

和:

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

csvreader.next() 返回讀者的迭代對象的下一行作爲一個列表,根據解析當前的方言。

+4

在python3中,該方法是'reader .__ next __()',應該使用'next(reader) – travc