2013-02-03 13 views
18

Powiel możliwe: When processing CSV data, how do I ignore the first line of data?Pomiń pierwszy wiersz (pole) w pętli, używając pliku CSV?

Używam Pythona do otwarcia pliku CSV. Używam pętli formuł, ale muszę pominąć pierwszy wiersz, ponieważ ma on nagłówek.

Do tej pory pamiętam, że było coś takiego, ale czegoś brakuje: Zastanawiam się, czy ktoś zna kod tego, co próbuję zrobić.

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

Dlaczego ktoś miałby Cię pokazywać, ale nie pozwalał ci robić notatek i dlaczego to dotyczy Twojego pytania? – danodonovan

Odpowiedz

37

Prawdopodobnie chcesz coś takiego:

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

Innym sposobem na achive ten sam wynik jest wzywającą readline przed pętli:

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

Funkcja 'next' jest dużo bardziej zwięzła. – vaerek

73

Istnieje wiele sposobów, aby pominąć pierwszy linia. Poza tym że przez Bakuriu dodam:

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

i:

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

csvreader.next() Zwraca następny rząd iterowalny obiektu czytającego postaci listy, analizowane zgodnie z obecny dialekt.

+4

W python3, metoda to 'reader .__ next __()', która powinna zostać wywołana za pomocą 'next (reader)' – travc

Powiązane problemy