2010-08-02 4 views
7

b содержит содержимое файла csvpython: как я всегда начинаю со второй строки в csv?

Мне нужно пройти через каждую строку b; однако, поскольку у него есть заголовок, я не хочу обращать внимание на заголовок. как начать со второй строки?

for row in b (starting from the second row!!): 

ответ

12

предварять next(b) (в каждой последней версии Python; b.next() в старых), чтобы пропустить первую строку (если b итератор, если он есть, вместо этого, список, for row in b[1:]: , конечно).

4
b.next() 
for row in b: 
    # do something with row 

Но рассмотреть вопрос об использовании csv модуля, особенно с DictReader.

2

Самый простой способ - использовать DictReader. Он будет потреблять первый ряд для вас

+0

Как пропустить строки с помощью DictReader? –

+0

@LymanZerga, не уверен, что вы имеете в виду? DictReader предназначен для конкретной цели, где первая строка содержит имена столбцов, а все следующие строки содержат данные. Возможно, вы хотите отфильтровать некоторые строки, прежде чем передавать их в DictReader? –

+0

да, тот правильный. У меня есть несколько строк перед заголовками таблицы. Как я их игнорирую? DictReader отлично работает, когда я удаляю их из csv и преобразует таблицу csv в dict –

0

Вы можете использовать этот код:

with open('data.csv', 'a', newline='') as filecsv: 
    datafile = csv.writer(filecsv) 
    datafile.writerows(list) 
Смежные вопросы