Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/342.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 索引器错误:列表索引超出范围:我无法理解发生此错误的原因_Python_Django_Excel - Fatal编程技术网

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