0
我正在使用csv迭代器來瀏覽包含與時間相關的數據的csv文件。我相信csv文件是正確的。我在python 3.x中使用Jupyter,iPython筆記本'module'csv沒有下一個屬性
當我嘗試使用.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福曼是正確的,我的錯誤是,我通過csv而不是csvfile ..所以我的帖子實際上並不真正使用。 – vbvx