python中遇到的一个关于‘IndexError: list index out of range’的问题

遇到了‘IndexError: list index out of range’的问题,具体代码如下:

f = open('data.txt','r')
unis = {}
un = {}
for line in f:
    print(line)
    i = line.strip().split(',')
    print(i[2])
    unis[i[2]] = unis.get(i[2], 0) + 1
    un[i[2]] = un.get(i[2],'') + i[1] + ' '

for d in unis:
    print('{:>4}: {:>4} : {}'.format(d[0],d[1],un[d][1]))

报错显示在‘unis[i[2]] = unis.get(i[2], 0) + 1’这一步上‘IndexError: list index out of range’
为啥会出现这样的问题啊,i[2]是存在的呀,刚刚学习不太理解。
data.txt文件内容如下:
1,麻省理工学院,美国

2,斯坦福大学,美国

3,哈佛大学,美国

4,加州理工学院,美国

5,牛津大学,英国

6,剑桥大学,英国

7,苏黎世联邦理工学院,瑞士

8,帝国理工学院,英国
希望佬帮我解答一下,谢谢啦!

已发现问题所在:此问题出在文件中存在换行,意味着某些时候line 是空的,对于空列表自然会有‘IndexError: list index out of range’