2014-12-16 2 views
11

나는 어리석은 실수를 저지르고 있을지 모르지만 어디 있는지 찾을 수는 없습니다. 내 CSV 파일에서 줄 수를 계산하고 싶습니다. 나는 이것을 썼고 분명히 작동하지 않는다. 나는 그것이 400이어야하는 동안 row_count = 0을 가진다. 건배.csv 파일의 행 수

f = open(adresse,"r") 
reader = csv.reader(f,delimiter = ",") 
data = [l for l in reader] 
row_count = sum(1 for row in reader) 

print row_count 
+0

[CSV 파이썬에 얼마나 많은 줄이 있는지?] (http://stackoverflow.com/questions/16108526/count-how-many-lines-are-in-a-csv- 파이썬) – AjayKumarBasuthkar

답변

24
with open(adresse,"r") as f: 
    reader = csv.reader(f,delimiter = ",") 
    data = list(reader) 
    row_count = len(data) 

파일 포인터가 data 목록을 저장 한 후 파일의 끝에 도달 이미 때 당신은 두 번 파일을 읽을 위해 노력하고 있습니다.

+0

건배 pal. 에 감사하다. –

1

먼저 당신이 그런 다음 마지막으로 열린 CSV

reader_file = csv.reader(input_file) 

의 csv.reader를 사용 열린

input_file = open("nameOfFile.csv","r+") 

으로 파일을 열 수 있고, 당신은 함께 행의 수를 취할 수 명령어 'LEN'

value = len(list(reader_file)) 

총 코드이다 :

input_file = open("nameOfFile.csv","r+") 
reader_file = csv.reader(input_file) 
value = len(list(reader_file)) 

csv 파일을 다시 사용하려면 reader_file에 대한 목록을 사용할 때 파일의 모든 파일과 포인터를 읽으 므로 input_file.fseek (0)을 작성해야합니다. 그 위치를 바꾼다