Skip to content

Instantly share code, notes, and snippets.

@MikyPo
Last active June 25, 2025 21:25
Show Gist options
  • Select an option

  • Save MikyPo/f5722ae8afe75cc561ebccb1dce45930 to your computer and use it in GitHub Desktop.

Select an option

Save MikyPo/f5722ae8afe75cc561ebccb1dce45930 to your computer and use it in GitHub Desktop.
progress bar loading file
from openpyxl import load_workbook
from tqdm import tqdm
# Путь к файлу
filename = 'data.xlsx'
# Загружаем книгу
wb = load_workbook(filename, read_only=True)
# Возвращает активный (выбранный по умолчанию) лист Excel-файла,
# то же самое, что вручную выбрать первый лист через wb['Sheet1']
# (!) В Excel может быть несколько листов, active выбирает тот, который был активен при последнем сохранении файла
ws = wb.active
# Получаем количество строк (примерно)
# (!) max_row возвращает номер последней строки, где Excel зафиксировал какие-либо данные (даже если это пустая ячейка с форматом)
# (!) В реальности данных может быть меньше/больше, если:
# Есть пустые строки в середине таблицы
# В файле есть скрытые
max_row = ws.max_row
data = [] # Сюда складываем все данные
columns = None # Инициация переменной для заголовков
with tqdm(total=max_row, desc='Чтение Excel') as pbar:
for i, row in enumerate(ws.iter_rows(values_only=True)):
if i == 0:
columns = row # Первая строка — заголовки
else:
data.append(row) # Добавляем строку
pbar.update(1) # Увеличение прогресс-бара на 1 шаг
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment