2015-11-19 1 views
1

Таким образом, некоторые действительно странное поведение, что происходит в моем питона код и точно не знаю, почему, линия отсчеты файла, который считывается и отсчеты CSV линии выключены:рассчитывает Python CSV строки Выкл

count2 = 0 
#Increase CSV field size as we are dealing with large fields 
csv.field_size_limit(sys.maxsize) 
with open(nullFile, 'rb') as csvfile: 
    print "Sum 2 " + str(sum(1 for row in csvfile)) 
    csvfile.seek(0) 
    reader = csv.reader(csvfile, delimiter=delimiter) 
    for line in reader: 
     count2 +=1 

Первая печать: 7292, а вторая печать: Счетчик 2 показывает 5332, не уверен, почему это было бы так. Почему читатель только поднимает 7292, я также проверил разделители, и все они обычно ограничены.

+1

Я полагаю, это может зависеть от того, что находится в файле. –

+0

Можете ли вы уточнить? Что вы делаете в файле? – theMadKing

+0

Сколько строк на самом деле имеет файл? Если 7292, можете ли вы идентифицировать все, которые не отображаются при чтении? Если 5332, можете ли вы идентифицировать любые строки из csvfile, которые не читаются csv.reader? –

ответ

0

Столбцы CSV могут быть указаны. Котируемая колонка может иметь разрывы строк внутри нее.

Физически файл содержит 7292 \n символов.

Принимая во внимание цитирование CSV, имеется 5332 полезных строки данных.

"Example","Line\nWith A","Line Break"\n 

Похоже, 2 линии (2 \ п символов)

Но - с ссылкой на правила, применяемые - это только одна строка данных CSV.

Смежные вопросы