python len(line)与对应的值不一样

时间:2015-10-14 20:35:10

标签: python

所以我想要格式化这个数据集。 在下面的代码中,如果我将参数(len(line)-3)/ 5更改为43(这是相应的值),它将给出IndexError:list index超出范围。

下面的代码虽然有效,但这让我很困惑。这是为什么?有人有想法吗?

for name in filenames:
    # your code here
    f_in = open(name,'r')
    reader_in = csv.reader(f_in, delimiter=',') 
    out_name = "updated_"+name
    f_out = open(out_name,'w')
    writer_out = csv.writer(f_out, delimiter=',')

    for line in reader_in:
        x = 0
        a = line[0]
        b = line[1]
        c = line[2]

        for i in range(3,(len(line)-3)/5):
            row = [a,b,c,line[x+3],line[x+4],line[x+5],line[x+6],line[x+7]]
            writer_out.writerow(row)
            x+=5

    f_in.close()
    f_out.close()

0 个答案:

没有答案