Уведомления

Группа в Telegram: @pythonsu

#1 Фев. 6, 2018 16:13:48

megafox
Зарегистрирован: 2017-09-18
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Определение пустой ячейки в xls

Доброе время.
Задача вытащить данные из таблицы 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))
Upd: Что интересно - если пустая ячейка попадается между данными, то все работает, если данные заканчиваются, то ругается list index out of range

Отредактировано megafox (Фев. 7, 2018 16:08:37)

Офлайн

#2 Фев. 6, 2018 20:25:57

Vladimirv
Зарегистрирован: 2013-03-22
Сообщения: 108
Репутация: +  7  -
Профиль   Отправить e-mail  

Определение пустой ячейки в xls

print('Completed')
break

Офлайн

#3 Фев. 7, 2018 07:39:43

megafox
Зарегистрирован: 2017-09-18
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Определение пустой ячейки в xls

Не, все таже ошибка list index out of range, хотя программа и выполняется
Может быть через while получится, т.е. пока есть значения в ячейках, то выполняется. Но здесь задумка в том, что, когда натыкается на пустую ячейку, переходит на следующий лист и так далее

Офлайн

#4 Фев. 8, 2018 21:17:48

megafox
Зарегистрирован: 2017-09-18
Сообщения: 10
Репутация: +  0  -
Профиль   Отправить e-mail  

Определение пустой ячейки в xls

Решил вопрос, вдруг кому пригодится
Поставил 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)

Upd. А если используете xlrd, то sheet.nrows определяет кол-во ячеек со значениями, sheet.ncols - столбцов

Отредактировано megafox (Фев. 9, 2018 08:03:35)

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version