import xlrd
def get_data(a):
aa = worksheet.cell(a, 0).value
bb = int(worksheet.cell(a, 2).value)
cc = worksheet.cell(a, 3).value
return([aa,bb,cc])
workbook = xlrd.open_workbook('d:/test.xls')
worksheet = workbook.sheet_by_index(0)
c = 1
objs = []
while worksheet.row(worksheet.nrows-1):
f = get_data(c)
objs.append(f)
c = c + 1
print(objs)
Я получаю следующее сообщение об ошибке:ошибка python3 с помощью xlrd (я не могу добавить список, потому что ошибка)
Traceback (most recent call last): File "D:\test.py", line 20, in <module> f = get_data(c) File "D:\test.py", line 6, in get_data aa = worksheet.cell(a, 0).value File "C:\Python34\lib\site-packages\xlrd\sheet.py", line 399, in cell self._cell_types[rowx][colx], IndexError: list index out of range
Лучше всего опубликовать всю трассировку стека. Часть, которую вы опубликовали, не показывает, в какой строке вашего кода была поднята ошибка. Я не думаю, что проблема связана с списком (и, BTW, pickle не имеет отношения к чему-либо, показанному здесь). Вероятно, на вашем листе нет данных для столбцов 0, 2 или 3 одного (или более) строк. – dsh
@dsh есть данные для столбца 0, 2 или 3 все, я удаляю pickle. но такая же ошибка –