因此,我目前正在尝试使用一个功能,该功能可以读取csv文件并以字典列表的形式返回其信息。正在读取的文件格式如下:
3070,01:44:03,Aaron,Glue,Finished
480,02:06:47,Collins,Finished
2228,01:42:06,Abigail,Swales,Finished
1519,01:24:11,Adam,Mcarthur,Finished
...等等。
我的代码工作正常,这里是:
def readFile(filename):
file = open(filename,'r')
data = file.read()
a = data.split()
dataLists = []
for term in a:
termList = term.split(',')
dataLists.append(termList)
results = []
for list in dataLists:
competitorInfo = {'id': list[0],'time': list[1],'firstname': list[2],'lastname': list[3]}
results.append(competitorInfo)
return results
现在我有两个csv文件,一个称为“ marathon.csv”,另一个称为“ marathon10.csv”。 marathon10.csv与marathon.csv完全相同,但仅包含10行信息(便于测试)。相比之下,marathon.csv包含2738行信息。
当在'marathon10.csv'上运行时程序返回预期的输出,而在'marathon.csv'上运行时我收到此错误:
或缩短后显示为“ IndexError:列表索引超出范围”,当读取以“ competitorInfo”开头的行时。
老实说,我不确定该去哪里。我已经给一些人发送电子邮件,他们告诉我这可能与marathon.csv的庞大大小有关,但这是真的吗?我需要它来工作,并且想对为什么我特意得到列表索引错误(如果可能)的正确解释。
我了解有些人可能想实际查看marathon.csv,但是我不确定如何分享。我向您保证,它与marathon10.csv完全相同,但有2738行,每行的格式都相同,有4个逗号,因此我不明白我如何收到我收到的错误。
非常感谢任何可以提供帮助的人:)