2011-01-06 4 views
0

저는 파이썬 (및 프로그래밍)에 새로운 경험이 있기 때문에 일부 CSV 수치가 남아 있습니다.파이썬에서 CSV 읽기 문제가 발생했습니다.

동일한 순서로 측정 데이터가있는 행에 csv 파일이 있습니다 (행의 첫 번째 항목은 예제 1-4의 ID 임). 라인에서 라인으로 데이터를 가져오고 싶습니다. reader.next() 함수를 찾았지만 이상하게 작동합니다.

for line in reader: 
    print reader.next() 

그리고 2. 및 4. 행에서만 데이터를 가져옵니다.

['2', '112', '14.3654', '90.4555', '105.45'] 
['4', '114', '180.2115', '90.4555', '105.45'] 

다른 문제는 어떻게 행에서 별도의 항목을 사용할 수 있습니까? (예 : 행 ID 2에서 세 번째 항목 14.3654)

감사합니다.

답변

8

당신은이 수행 reader.next()를 호출 할 필요는 없다 : CSV 파일의 모든 라인을 통해

for line in reader: 
    print line 

이 의지 루프를하고 목록으로 인쇄 : the documentation on next에서

:

독자의 반복 가능한 객체의 다음 행을 목록으로 반환하여 현재 방언에 따라 구문 분석합니다.

파일의 모든 행에 대해 수행 한 작업은 다음 행을 인쇄하십시오. 처음으로 루프 (for 루프가 1 번 라인을보고있는 루프)를 통과하면 두 번째 라인이 인쇄되고 CSV 파일의 위치는 2 번 라인이됩니다. 루프의 다음 반복으로 이동하면

for line in reader: 
    print line[0] 

:이 목록의 경우 3. 인쇄 reader.next()을 줄 수있는 CSV 파일의 위치에 따라서 각 라인, 당신은 첨자 표기법을 사용하여 액세스 할 수의 개별 항목을 얻으려면 라인 4.

를 인쇄 목록 사용에 대한 유용한 정보는 Dive Into Python's introduction to lists을 참조하십시오.

+0

덕분에, 그것은 유용하고 링크 너무 – nzoltan

2

당신은 라인의 개별 항목에 대해 당신이 가질 수있는 그런

for line in reader: 
    print line 

를 원하는 :

for entry in line: 
    print entry 
관련 문제