2017-03-17 93 views
-1

我在第二次分裂时收到错误。第一行工作正常后,我添加strip()。任何人都可以帮我找出问题吗?Python报废数据 - IndexError:列表索引超出范围

for i in linkUG: 
new = requests.get(i) 
soup_new = BeautifulSoup(new.content.decode(encoding='UTF-8'), "lxml") 
tb = soup_new.find("table", {"id":"course_catalog_table"}) 

for j in tb.findAll("td"): 
    Allinfo.append(j.text) 
for i in Allinfo[::5]: 
    name.append(i) 
for i in Allinfo[1::5]: 
    title.append(i) 
for i in Allinfo[2::5]: 
    credits.append(i) 
for i in Allinfo[3::5]: 
    school.append(i) 
for i in Allinfo[4::5]: 
    description.append(i) 
for i in description: 
     i = i.strip().strip('\n') 
     if i: 
      coursedescription.append(i.split('\t')[6]) 
      **prereq_classroomhrs.append(i.split('\t')[12])** 

我访问列表中的第12个项目,因为我想我希望最后一个元素 - >课时 - 实验室和/或Studio小时\ u2013课程学分:3-0-3'

+0

你肯定有具有第12要素?尝试打印'i.split('\ t')'看看它有多长。 – Hugo

+0

打印 - >“[你是会计基础知识的研究主题包括会计周期,报表编制,系统,资产评估,会计概念和独资企业的原则。',u'',u'', u'',u'',u'',u'\ n课堂时间 - 实验室和/或工作室时间\ u2013课程学分:3-0-3'] “ –

+0

您没有12个元素?你为什么试图称呼第12个元素? – Hugo

回答

0

要获取列表中的最后一个元素访问

i.split('\t')[-1] 

那么你得到列表索引超出范围的唯一方法是,如果它是一个空列表

相关问题