2016-10-31 2 views
1

fileInputは約30行のcsvファイルで構成されており、2行目のみにアクセスしたいとします。Python:forループを1回だけ実行します(初めてではなく2回目)。

for row in csv.reader(fileInput):

Iは、第二の行ではない最初のものを(最初のものは、COL名を含む)にアクセスする必要があります。 row[1]row0に第2列を付けますか?

最初の行からではない2番目の行のみ!

+0

変数 'my_csv'に' csv.reader'を代入し、各行を繰り返し処理することができます。行をスキップするには、[この回答](http://stackoverflow.com/a/14257599/378704)で述べたように 'next'を使うことができます。 –

答えて

0

あなたはDictReaderを使用して検討する必要があります。それはあなたのためのヘッダーを処理し、インデックスではなく名前で列にアクセスできるようにします(コードを読みやすくするのに役立ちます)。

例えば、

import csv 

with open('names.csv') as csvfile: 
    reader = csv.DictReader(csvfile) 
    row = next(reader) 
    print(row['first_name'], row['last_name']) 
1
r = csv.reader(f) 
first_line = next(r) 
second_line = next(r) 
for line in r: 
    print(line) #rest of the lines 

readerイテレータを返します:https://docs.python.org/3/library/csv.html#csv.reader

+0

' for'ループの 'break'よりもこの方法がいいですが、 'StopIteration'が呼び出される可能性があります – slezica

+0

ええ、入力に少なくとも2行もない場合、質問は意味をなさないので、例外を送出する必要があります –

関連する問題