索引错误:列表索引超出范围创建和打开 xlsx

我想在 python 中创建一个程序,该程序创建一个 xlsx 文件,其中每个字母都有一个工作表。我想读取 150 个文件,这些文件的数字和名称分别为“:”,例如“03005:stackoverflow”在每一行,并将每个数字及其名称放在以名称的第一个字母开头的工作表中。

当我执行我的程序时,它给了我这个错误,我不知道如何修复它。并非每次我执行它时,它都会在同一次交互中失败。


四季花海
浏览 189回答 1
1回答

千巷猫影

你有if (words[1])[0] is None:在您的代码中,然后将 的值words[1][0]与某些字符进行比较。你的意思是写if (words[1])[0] is not None:因此,如果这些值不是 NoneType 它将转到内部 if 并将值与字符进行比较更新当然这不能解决您的问题,就好像列表单词没有元素 [1] 或单词 [1][0] 没有元素一样,它会给您索引错误。有很多方法可以查看具有该索引的列表是否存在。但是,对于你一个最简单的是改变if (words[1])[0] is None:与try:和写except:的if语句之后。例如:if (words[1])[0] is None:                if (words[1])[0] == "A":                        sheet = e.get_sheet("A")                        sheet.write(arrayPositions[0],0,(words[1])[:-1])                        sheet.write(arrayPositions[0],1,words[0])                        arrayPositions[0]=arrayPositions[0]+1                **all other ifs到try:    if (words[1])[0] == "A":        sheet = e.get_sheet("A")        sheet.write(arrayPositions[0],0,(words[1])[:-1])        sheet.write(arrayPositions[0],1,words[0])        arrayPositions[0]=arrayPositions[0]+1    ** All other if statementsexcept:    pass
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python