Я использую csv-итератор для просмотра файла csv, который содержит данные, связанные со временем. Я уверен, что файл csv верен. Я использую Jupyter, iPython notebook в python 3.x'module' csv не имеет атрибута next
Когда я пытаюсь выполнить итерацию в первой строке с помощью метода .next(), у меня есть объект AttributeError: 'module' не имеет атрибута 'next'.
Мой код разделен на две части, одна часть содержит функцию и импорт, одна часть вызывает их. Функция У меня есть проблема с это:
def get_durations(csvfile):
try:
csvfile = iter(csvfile)
except TypeError, te:
print csvfile, 'is not iterable'
print "data is", repr(csvfile)
first_time = csvfile.next()[5]
first_time = (first_time.replace(" ", ""));
for row in csvfile:
last_time = row[5]
last_time = (last_time.replace(" ", ""))
first_time = datetime.datetime.strptime(first_time, "%H:%M:%S")
last_time = datetime.datetime.strptime(last_time, "%H:%M:%S")
return first_time.replace(second = 0), last_time.replace(second = 0)
Я делаю вызов функции здесь:
for el_mousefile in mousefiles:
os.chdir(el_mousefile)
print "data is", repr(csvfile)
csvfile = csv.reader(open("mouse.csv", "rU"), delimiter=';', quoting=csv.QUOTE_NONE)
print "data is", repr(csvfile)
try:
csvfile = iter(csvfile)
except TypeError, te:
print csvfile, 'is not iterable'
first_time, last_time = get_durations(csv)
я получаю этот выход при попытке запустить программу:
data is <_csv.reader object at 0x000000000A388D08>
data is <_csv.reader object at 0x000000000A388948>
module 'csv' from 'C:\Users\**\AppData\Local\Continuum\Anaconda\lib\csv.pyc' is not iterable
data is module 'csv' from 'C:\Users\**\AppData\Local\Continuum\Anaconda\lib\csv.pyc'
96------>first_time = csvfile.next()[5]
97 first_time = (first_time.replace(" ", ""));
98 for row in csvfile:
AttributeError: 'module' object has no attribute 'next'
Я не понимаю, как мой csv может быть итерабельным во второй части, но затем, когда он передается функции, он больше не итерируется, что отвечает за мою ошибку.
прочитайте, как следует использовать модуль 'csv': https://docs.python.org/3.4/library/csv.html (обязательно используйте' csv.reader' в какой-то момент) - и, пожалуйста, отпечатай ваш правильно. –
хорошо, мой код отступил правильно, но @Ethan Fuman прав, моя ошибка в том, что я передаю csv вместо csvfile .. поэтому мой пост на самом деле не используется. – vbvx