Python 索引器错误:列表索引超出范围:我无法理解发生此错误的原因
索引器出错:列表索引超出范围。 我想把字典数据放到模型(用户)中。 我写 但是,每个列表的索引行数不同Python 索引器错误:列表索引超出范围:我无法理解发生此错误的原因,python,django,excel,Python,Django,Excel,索引器出错:列表索引超出范围。 我想把字典数据放到模型(用户)中。 我写 但是,每个列表的索引行数不同 ['001200cd3eF', 'Tom', 'Hi', 'greeting', 'Goodmorning', 'greeting', 'Bye' 'say good‐bye', '', '', '']['007700ab7Ws', 'Blear', 'How are you', 'greeting', 'Thx', 'Thanks', '', '', ''] 所以每个列表的索引数是不同的,
['001200cd3eF', 'Tom', 'Hi', 'greeting', 'Goodmorning', 'greeting', 'Bye' 'say good‐bye', '', '', '']['007700ab7Ws', 'Blear', 'How are you', 'greeting', 'Thx', 'Thanks', '', '', '']
所以每个列表的索引数是不同的,最大索引数是13。
models.py是
Class User(models.Model):
talk1 = models.CharField(max_length=500,null=True)
talk2 = models.CharField(max_length=500, null=True)
talk3 = models.CharField(max_length=500, null=True)
talk4 = models.CharField(max_length=500, null=True)
talk5 = models.CharField(max_length=500, null=True)
talk6 = models.CharField(max_length=500, null=True)
talk7 = models.CharField(max_length=500, null=True)
talk8 = models.CharField(max_length=500, null=True)
characteristic1 = models.CharField(max_length=500,null=True)
characteristic2 = models.CharField(max_length=500, null=True)
characteristic3 = models.CharField(max_length=500, null=True)
characteristic4 = models.CharField(max_length=500, null=True)
characteristic5 = models.CharField(max_length=500, null=True)
characteristic6 = models.CharField(max_length=500, null=True)
characteristic7 = models.CharField(max_length=500, null=True)
characteristic8 = models.CharField(max_length=500, null=True)
如果一个列表没有值,我想输入null。我应该如何修复它?我应该写什么 与字典不同,没有安全的方法访问列表中可能不存在的索引 在您的示例中,我知道在某些行中,您将没有索引16、17等 我建议你看看这个答案: 在您的
user3.update()
中,您可以用safe\u list\u get(行、索引、默认值)替换所有列表访问。
看看这些答案,它们都可以给出一些元素的答案:Hi可以处理类似列表的索引外错误,您可以添加额外的带有空值的索引
rows=sheet2.row_values(row_index)
append_empty = ['','','','',''] #here mention how many empty index as you need
rows = rows + append_empty
#goes to your update logic
rows=sheet2.row_values(row_index)
append_empty = ['','','','',''] #here mention how many empty index as you need
rows = rows + append_empty
#goes to your update logic