我是Python的新手,我得到的列表索引錯誤,當我不應該。 我有以下變量:我一直在Python中得到「列表索引超出範圍」,當列表中有正確的索引
date_array = ['2001','15','1']
我可以訪問第一個索引。我只能訪問最後一個索引,如果我嘗試這樣的事:
date_array[-1]
我得到「列表索引超出範圍」錯誤,每當我嘗試:
date_array[2]
date_array[1]
我附上下面的完整代碼供您參考:
import csv
import datetime
import re
marketReader = csv.reader(open('test.csv', 'rb'))
i=0
for row in marketReader:
cust_id = row[0]
date = row[1] # Is a text. Ex: '2002-1-1'
spent = row[2]
date_array = (re.split('-',date)) # Provides an array ['2002', '1', '1']
year = date_array[0]
month = date_array[1]
day = date_array[2]
# Is weekday?
weekday=datetime.date(year,month,day).weekday()
if i==200 and row[0]>3 :
break
pass
#print(day)
i += 1
任何幫助將非常感激!這讓我瘋狂!
錯誤出現在哪裏? – agibalov
你確定你len(date_array)總是3嗎?添加支票以確保它是 – nulvinge
您確定CSV文件中的日期格式爲您認爲的格式嗎?你需要使用[dateutil](http://niemeyer.net/python-dateutil)來解析它嗎? – plasticsaber