Из-за чего list index out of range?
Можете подсказать в чем заключается ошибка? Может я слепой? Схожая проблема возникает уже не в первый раз
Использую python-docx 0.8.10 и openpyxl 3.0.7
Exception in Tkinter callback<br/>
Traceback (most recent call last):<br/>
File "D:\program files\Python\lib\tkinter\__init__.py", line 1892, in __call__<br/>
return self.func(*args)<br/>
File "D:\rab\Anton2\main.py", line 96, in check_zap<br/>
self.list_massiv()<br/>
File "D:\rab\Anton2\main.py", line 174, in list_massiv<br/>
self.zapis_dannih()<br/>
File "D:\rab\Anton2\main.py", line 186, in zapis_dannih<br/>
stand = str(self.listZapStand[i])<br/>
IndexError: list index out of range
###Первая часть###
wb = openpyxl.load_workbook(r'AObject\Прайс услуг.xlsx') #Начинается с B2
wbsheet = wb['Лист1']
dis = wbsheet.max_row
for i in range(1, dis-1):
if wbsheet[dis][2].value == self.TypeSh.get():
if wbsheet[dis][3].value == self.DliVBu:
if wbsheet[dis][4].value == self.Slozhnost:
wbsheet[dis][5].value = self.Srok.get()
for s in range(0, 13):
self.listZapStand[s] = wbsheet[1][s+1].value #Названия столбцов
self.listZap[s] = wbsheet[dis][s+1].value #Сами данные
self.pif += 1 #Изначально = 0
###Вторая часть###
for s in range(0, self.pif):
for i in range(1, 13):
stand = str(self.listZapStand[i]) #Ошибка возникает здесь
izmen = str(self.LZ[s][i]) #И здесь
document.add_paragraph(stand + izmen).Times_New_Roman = True
Ответы (1 шт):
На ваш вопрос "Из-за чего list index out of range?" отвечаю: ваша ошибка возникает из-за того, что вы пытаетесь обратиться к элементу списка (или другому итерируемому объекту) по индексу, а такого элемента в вашем списке нет. А вот где она возникает - ясно и четко написано в сообщении об ошибке, которое вы нам показать не захотели.
Заниматься угадыванием, в каком именно месте вашего скрипта произошла ошибка - особого желания нет, но теперь вы получили информацию о причине. Поэтому найти ошибку ее самостоятельно исправить - для вас труда составить не должно.
На будущее - делайте вывод, как надо (и как не надо) задавать вопросы.