У меня есть таблица с приведенными ниже структурами (данные начинаются с колонкой Б. Колонок А пусто)xlrd значение ячейки возвращает ошибку
A B C D
Name city salary
Jennifer Boston 100
Andrew Pittsburgh 1000
Sarah LA 100
Grand Total 1200
мне нужно отфильтровать строку с итогом перед загрузкой в базы данных.
Для этого я читаю ОБЩИЙ ИТОГ как:
import xlrd
import pymssql
#open workbook
book = xlrd.open_workbook("C:\_Workspace\Test\MM.xls")
print("The number of worksheets is", book.nsheets)
#for each row in xls file loop
#skip last row
last_row = curr_sheet.nrows
print(last_row)
print(curr_sheet.ncols)
skip_val = curr_sheet.cell(last_row,1).value
print(skip_val)
if skip_val == "Grand Total":
last_row = last_row - 1
else:
last_row = last_row
for rx in range(last_row):
print(curr_sheet.row(rx))
Однако я получаю ошибку ниже:
Traceback (most recent call last): File "C:\_Workspace\Test\xldb.py", line 26, in <module> skip_val = curr_sheet.cell(last_row,1).value File "c:\Python34\lib\site-packages\xlrd-0.9.3- >py3.4.egg\xlrd\sheet.py", line 399, in cell self._cell_types[rowx][colx], IndexError: list index out of range
Я не в состоянии выяснить, что неправильно с синтаксисом выше. Надеясь, что кто-то здесь может понять, почему он выбрасывает ошибку.
Спасибо большое заранее, Bee
Спасибо @ChrisP. Это была проблема. Сейчас работает как шарм. – Bee