2014-09-12 4 views
1

Я хочу подсчитать общее количество столбцов в CSV-файле. В настоящее время я использую python 2.7 и 3.4. Код отлично работает в этих версиях, и когда я пытаюсь реализовать одно и то же в python 2.4, он отображается, поскольку next() не определен.Подсчитать количество столбцов в CSV-файле с использованием python 2.4

код, я использую в настоящее время (2.7 и 3.4)

f = open(sys.argv[1],'r') 

reader = csv.reader(f,delimiter=d) 

num_cols = len(next(reader)) # Read first line and count columns 

Моя сильная потребность реализовать то же самое в Python 2.4. Любая помощь будет принята с благодарностью.

+0

Что об этом не работает Python 2.4? Модуль 'csv' находится в стандартной библиотеке с версии 2.3. – robbrit

+0

Работает ли 'reader.next()'? Встроенный ['next'] (https://docs.python.org/2/library/functions.html#next) является новым в Python 2.6. –

+0

Я хочу получить общее количество столбцов в файле csv с помощью python 2.4 .. Я думаю, что функция next() не определена в 2.4 .. пожалуйста, помогите мне в отношении этого ... – user3676910

ответ

3

У меня нет установленного на данный момент Python 2.4, поэтому я не могу это проверить.

Согласно документации, next builtin is new in Python 2.6. Тем не менее, csv.reader имеет next method of it's own, и, похоже, он существует даже в 2.4, поэтому вы сможете использовать его.

num_cols = len(reader.next()) 
+0

отлично работает ... большое спасибо – user3676910

0

Предположим, вы получаете файл CSV, как этот

test1, test2, test3

вы можете сделать, как этот

file = open("test.csv","r") 
reader = csv.reader(file) 
lenCol = len(next(reader)) 
A = ["A"+str(i) for i in range(1,lenCol+1)] 
Смежные вопросы