Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Проблема с Openpyxl

Всем привет. У меня возникала проблема в ходе обучения, хотя это не то чтобы проблема, а неясность. Openpyxl - библиотека для работы с эксель файлами. Суть в том что данная мне таблица не ровная по количеству ячеек/строк в столбцах. В одном 50, в другом 90. Я  разобрался как считать максимальное количество строк на листе, с этим проблем нет. Но мне не ясно стало как выводить  максимальное число строк ОДНОГО столбца, который на 50 строк. Трабл в том, что все методы, которые я попробовал почему то показывают максимальное количество строк 90, это при учёте того что я помечаю в каком столбце считать. И если я даже вывожу все ячейки столбца А (В котором 50 строк), то он просто 50 чисел пишет, а 30 строк выписывает с None. И по сути я могу просто посмотреть сколько в столбце строк и вбить параметр range (2, 50+1), но это не то, я так не хочу. Я хочу считать максимальное число ячеек с столбца, чтобы было без всех проблем, которые я ранее озвучил.  Прощу, кто знает развейте моё неведение. Заранее спасибо.
Data sciencePython+2
fox358k
Python Q
  · 441
Python Developer, VK Feed Expert, AI Operator.  · 1 мая
Чтобы считать максимальное количество заполненных ячеек в определенном столбце, можно воспользоваться методом
max_row
из модуля
openpyxl.utils
Допустим для столбца А можно использовать следующий код. Этот код получает максимальное количество строк в таблице, и затем перебирает все строки в столбце А, проверяя, заполнена ли ячейка. Если ячейка заполнена, то выводит ее значение. В конце выводится максимальное число заполненных ячеек в столбце.
from openpyxl import load_workbook
from openpyxl.utils import get_column_letter

# заливаем файл
wb = load_workbook('файл.xlsx')

# выбираем лист в таблице
ws = wb['Sheet1']

# указываем № столбца
col = 'A'
max_row = ws.max_row
max_col = ws.max_column

for row in range(1, max_row+1):
    cell = ws['{}{}'.format(col, row)]
    if cell.value is not None:
        print(cell.value)

# выводим макс номер строки с данными в столбце
print("Максимум заполненных ячеек в столбце {} - {}".format(col, max_row))