2012-11-25 3 views
0

나는 .csv 파일을 가지고 있는데, 반복 할 필요가있다. 그리고 루프 안에서, 반복 할 때마다 다음 줄의 값을 확인하고 싶다. 나는 그것이 다음 반복에서 앞을 보았던 선을 넘어 뜨리기 때문에 그것이 제대로 작동하는 것처럼 보이지 않는다..csv 파일을 읽는 중입니다.

import csv 
file_object = open('file.csv', 'r') 
reader = csv.reader(file_object, delimiter = ';') 

for line in reader: 
    next_line = reader.next() 
    # It now reads the next line and doesn't iterate over it again in the next 
    # iteration. However, i want it to still iterate over it in the next iteration. 

대단히 감사합니다.

답변

1

당신은 현재와 다음 라인을 모두 추적 지킬 수있다 "수동"또는

line = reader.next() 
for next_line in reader: 
    # Do your processing 
    line = next_line 
# Now do whatever needs to be done with the very last line 
+0

,''itertools.tee()''과''itertools.zip_longest()''. –

+0

음, 나는 이것이 어떻게 작동하는지 정확히 알지 못합니다 : d. 먼저 line1을 읽고 line2에서 반복을 시작합니다. 어떻게하면 반복 과정에서 하나의 선을 보았고 나중에 같은 선에서 반복 할 수 있습니까? – geekkid

+0

@geekkid 첫 번째 줄로''line''로 시작하면, 반복 할 때''next_line''에 2 번째 줄을 넣고, 원하는 것을하고,''line''에 줄을 넣고, line 3을''next_line''으로 변환하고,''line''이 현재 라인이고,''next_line''이 라인이 끝날 때까지 계속됩니다. 그런 다음 루프 다음에 마지막 행을 처리 할 수 ​​있습니다. –

관련 문제