Форум сайта python.su
Доброе время.
Задача вытащить данные из таблицы xls, чтобы при достижении пустой ячейки обработка заканчивалась.
Подскажите как сделать правильно. Задал кол-во интераций больше, чем кол-во ячеек со значениями, но выходит ошибка “Вне диапазона”
for i in range(30):
a=sheet.cell(i,0).value
if a==xlrd.empty_cell.value:
print('Completed')
else:
w_sheet1.write(i,0,str(a))
Отредактировано megafox (Фев. 7, 2018 16:08:37)
Офлайн
print('Completed')
break
Офлайн
Не, все таже ошибка list index out of range, хотя программа и выполняется
Может быть через while получится, т.е. пока есть значения в ячейках, то выполняется. Но здесь задумка в том, что, когда натыкается на пустую ячейку, переходит на следующий лист и так далее
Офлайн
Решил вопрос, вдруг кому пригодится
Поставил openpyxl, там есть возможность определять кол-во ячеек и столбцов со значениями в int
Получилось вот что:
import openpyxl
wb=openpyxl.load_workbook('Книга1.xlsx')
sheet=wb.get_sheet_by_name('Лист1')
for row in range(1,sheet.max_row):
print(sheet.cell(row+1,1).value)
Отредактировано megafox (Фев. 9, 2018 08:03:35)
Офлайн