在本地新建一个testdata.xls,内容如下:

IndexError: list assignment index out of range

#python3!

import xlrd

def read_excel(filename,index):
    # 运用xlrd摩卡的open方法打开excel文件
    xls = xlrd.open_workbook(filename)
    # 指定要选择的表格
    sheet = xls.sheet_by_index(index)
    # 打印选定的表格的行数
    print(sheet.nrows)
    # 打印选定的表格的列数
    print(sheet.ncols)
    dic = []
    for j in range(sheet.ncols):
        data = []
        for i in range(sheet.nrows):
            data.append(sheet.row_values(i)[j])

        dic[j] = data
    print(dic)
    return dic

print(read_excel('testdata.xls',0))

IndexError: list assignment index out of range

运行以后出现上面的结果。

百度了一下,看到 敬同学的博客(https://blog.csdn.net/qq_44768814/article/details/88614393),我似懂非懂的加了一个append语句,

IndexError: list assignment index out of range

竟然搞定了。

IndexError: list assignment index out of range

回过来分析,

IndexError: list assignment index out of range

第14列的时候,我定义了一个dic空列表,里边的元素是0的,所以,我们在用dic[j]的时候,index=j在dic[]里边是不存在的。

但是,这个append后边为什么跟着1我不确定,我试了一下dic.append[j]也是可以让整个程序走通。回头再回去研究append。

相关文章: