'module' csv 下一个没有属性

'module' csv has no attribute next

我正在使用 csv 迭代器遍历 csv 文件,其中包含与时间相关的数据。我确定 csv 文件是正确的。我在 python 3.x

中使用 Jupyter,iPython notebook

当我尝试使用 .next() 方法迭代第一行时,出现 AttributeError: 'module' object has no attribute '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 如何在第二部分中可迭代,但是当传递给函数时,它不再是可迭代的,这就是我的错误的原因。

first_time, last_time = get_durations(csv)

您传递的是 csv 模块,而不是文件。