Найти - Пользователи
Полная версия: Определение пустой ячейки в xls
Начало » Python для новичков » Определение пустой ячейки в xls
1
megafox
Доброе время.
Задача вытащить данные из таблицы 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
Vladimirv
print('Completed')
break
megafox
Не, все таже ошибка list index out of range, хотя программа и выполняется
Может быть через while получится, т.е. пока есть значения в ячейках, то выполняется. Но здесь задумка в том, что, когда натыкается на пустую ячейку, переходит на следующий лист и так далее
megafox
Решил вопрос, вдруг кому пригодится
Поставил 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 - столбцов
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB