2013-02-03 17 views
18

可能性の重複: When processing CSV data, how do I ignore the first line of data?CSVファイルを使用してループの最初の行(フィールド)をスキップしますか?

私は、CSVファイルを開くためのpythonを使用しています。私は数式ループを使用していますが、ヘッダーがあるため、最初の行をスキップする必要があります。

これまでのところ覚えていますが、これは何かが欠けています。私がやろうとしていることのコードを誰かが知っているのだろうかと思います。

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 

同じ結果をachiveする他の方法は、ループの前にreadlineを呼んでいる:

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

'next'関数ははるかに簡潔なアプローチです。 – vaerek

73

最初にスキップする多くの方法があります。ライン。 )(

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

csvreader.next構文解析によれば、リストとして読者の反復可能オブジェクトの次の行を返す :

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

とを:Bakuriuによって前記のものに加えて、私が追加します現在の方言。

+4

python3では、このメソッドは 'reader .__ next __()'です。これは 'next(reader)'を使って呼び出す必要があります。 – travc

関連する問題