Python и работа с Excel: openpyxl, xlrd

Мы просто и по делу рассказываем про ИИ-инструменты для работы: сравнения, пошаговые гайды, бесплатные альтернативы и реальные сценарии применения. Помогаем выбрать между ChatGPT, Gemini, Claude, локальными моделями и десятками узкоспециализированных сервисов — от дизайна и HR до аналитики и SEO. Меньше хайпа, больше практики и экономии времени каждый день.

pythonopenpyxlxlrd

Excel-файлы по-прежнему остаются стандартом в отчётности, аналитике и обмене данными. В Python для работы с ними чаще всего вспоминают openpyxl и xlrd, но между этими библиотеками важно понимать разницу.

Что делает openpyxl

  • Работает с файлами .xlsx
  • Позволяет читать, изменять и создавать Excel-книги
  • Поддерживает листы, ячейки, стили, формулы, диаграммы, объединение ячеек
  • Подходит для автоматизации отчётов и генерации таблиц

Пример записи в Excel:

from openpyxl import Workbook

wb = Workbook()
ws = wb.active
ws["A1"] = "Имя"
ws["B1"] = "Продажи"
ws.append(["Анна", 120])
ws.append(["Игорь", 95])

wb.save("report.xlsx")

Пример чтения:

from openpyxl import load_workbook

wb = load_workbook("report.xlsx")
ws = wb.active

for row in ws.iter_rows(values_only=True):
    print(row)

Что делает xlrd

  • Исторически использовалась для чтения Excel
  • Сейчас актуальна в основном для старого формата .xls
  • Начиная с новых версий, .xlsx не поддерживает
  • Для современных задач используется всё реже

Это важный момент: если пользователь ищет, почему xlrd не открывает .xlsx, причина именно в изменениях библиотеки. Для новых Excel-файлов лучше брать openpyxl.

Когда что использовать

  • openpyxl — если нужен современный Excel `.xlsx`
  • xlrd — только если необходимо читать старые `.xls`
  • Для сложной аналитики с таблицами часто удобнее ещё и pandas + openpyxl

Пример с pandas:

import pandas as pd

df = pd.read_excel("report.xlsx")
print(df.head())

Плюсы openpyxl

  • ✅ Активно используется
  • ✅ Поддерживает создание файлов с нуля
  • ✅ Удобна для автоматизации офисных задач
  • ✅ Подходит для бэкенда, ETL и внутренних сервисов

Ограничения

  • Не самая быстрая на очень больших файлах
  • Не заменяет полноценный Excel по визуальным возможностям
  • Для старых `.xls` нужен другой стек

Вывод

Если задача — читать и записывать современные Excel-файлы в Python, выбор почти всегда очевиден: openpyxl. Если же в компании остались архивные `.xls`, тогда может пригодиться xlrd. Для большинства новых проектов связка Python + openpyxl закрывает 90% практических задач по Excel ⚙️📈

Подборка каналов про IT — хороший способ следить за инструментами, библиотеками и практикой разработки. Стоит заглянуть 👀

🗣 Подборки каналов 🧠 Каталог ботов и приложений 🗺 Навигация

Python и работа с Excel: openpyxl, xlrd 📊🐍

Читайте так же