我有一个类似下面的列表,它是通过读取csv文件生成的:
cr = csv.reader(fileName, delimiter='\t')
lineList = [line for line in cr]
print lineList
>>>[['TestTest', 'kvhx', 'Status', 'segment'], ['', '41000020003000000', '', 'aaa'], ['', '41000020004000000', '', 'dddd'], ['', '41000020005000000', '', 'ccc'], ['', '41000020006000000', '', 'aaa'], ['', '41000020007000000', '', 'eeen'], ['', '41000020008000000', '', 'dds'], ['', '41000020009000000', '', 'ssd'], ['', '41000020010000000', '', 'eee'], ['', '41000020011000000', '', 'qq'], ['', '']]
我喜欢使用以下列表理解来更新列表:
NewLineList = [[line[0], (line[1][0:3] + ';' + line[1][3:7] + ';' + line[1][7:11]), line[2], line[3]] for line in cr]
我收到列表索引超出范围的错误。我做错了什么?
答案 0 :(得分:1)
列表中的最后一项是['', '']
,并且没有line[2]
和line[3]
。我建议你先把这个无用的额外清单剪掉。