Честное сравнение Вердикт с условием Бесплатные уроки
Pandas или Excel: что учить для работы с таблицами
Отчёты живут в Excel, а вы уже пишете на Python? Разбираем по-честному, где табличный редактор остаётся королём, а когда отчёт пора записывать кодом, — с таблицей, живым кодом и вердиктом вместо лозунга.
Заказы приходят файлом .xlsx, вокруг него вырос весь офисный мир: автофильтр, сводная таблица, «покажи выручку по городам». А потом в жизни появляется Python — и на форумах начинается вечный спор «pandas или excel». Обычно в нём сталкиваются люди с разными задачами: у одного разовая табличка, у другого — еженедельный отчёт на полмиллиона строк.
Честный ответ скучнее лозунгов: это инструменты для разных режимов работы. Excel силён там, где решение принимается руками на маленьких данных. pandas силён там, где одни и те же шаги повторяются над файлом, который растёт. Поэтому ниже — не «кто круче», а разбор по 8 критериям: где выигрывает Excel, где pandas и где они равны.
Одна задача из курса pandas — сводная выручка по городам — решена кодом прямо на этой странице: нажмите кнопку и увидите вывод своими глазами. Рядом — пошаговое описание того, как то же самое делается в Excel, без прикрас.
Короткий ответ: это не «или», а «когда»
Вердикт: вопрос «pandas или excel» поставлен неверно — правильный вопрос «когда какой». Excel — инструмент ручных разовых отчётов и людей без Python: открыл, посчитал, отправил. pandas — когда задача повторяется, файл большой или шаги надо автоматизировать: отчёт записывается кодом и пересобирается одной командой. Курс pandas учит именно второму режиму — и Excel из него не выбрасывает, а оставляет под рукой.
Условие, при котором вердикт отменяется: разовая табличка на 20 строк руками — быстрее в Excel, и ставить на неё pandas не стоит ради самого pandas. Честный триггер для перехода выглядит иначе: вы второй раз делаете одни и те же клики по одному и тому же файлу. Вот тут pandas начинает экономить время, а не только нервы.
Excel останется, если...
задача разовая: табличка на 20 строк под текущий вопрос;
данные маленькие, а шаги придумываются на ходу;
отчёт отдают людям без Python — и они должны править его сами;
программирование в ваши планы пока не входит.
Открывайте pandas, если...
один и тот же отчёт пересобирается каждую неделю;
файл уже открывается неохотно или упирается в лимит листа;
шагов много — чистка, фильтры, сводная, сортировка — и повторять их нужно без ошибок;
вы уже учите Python — тогда отчёты становятся просто функцией.
Метка в последней колонке — чьё преимущество в этом пункте. Без принижения: у каждой стороны честный счёт.
Сравнение Excel и pandas по восьми критериям
Критерий
Excel
pandas
Плюс
Порог входа
Ниже некуда: открыл файл — и уже работаешь, Python не нужен
Нужны основы Python: переменные, списки, функции — без них тяжело
Excel
Открытие файла
Двойной клик по .xlsx или .csv — файл сразу перед глазами
Одна строка read_csv или read_excel — но её нужно написать
Excel
Фильтрация
Автофильтр мышкой: быстро на маленькой таблице, след в файле не остаётся
Одна строка-маска df[df["city"] == "Москва"]: видна в коде и работает на любом размере файла
pandas
Группировка и сводные
Сводная таблица умеет многое, но пересобирается мышкой и не хранит свои шаги
groupby().agg() — один вызов, шаг записан в коде и переносится на новый файл
pandas
Повторяемость: кнопка против кода
Каждый пересчёт заново руками: те же клики по фильтрам и сводным, каждую неделю
Скрипт перезапустили — отчёт собрался заново на свежих данных, без ручных шагов
pandas
Большие файлы
На сотнях тысяч строк тормозит уже при открытии; лимит листа — 1 048 576 строк
Миллионы строк в памяти; куски огромного файла читаются через nrows и chunksize
pandas
Автоматизация
Макросы VBA: вариант рабочий, но это отдельный язык и отдельная вселенная
Живёт в том же Python: отчёт по расписанию, обработка пачки файлов, часть общего проекта
pandas
Цена
Для студентов бесплатен по учебной лицензии, на рабочих компьютерах часто уже куплен
Бесплатна всегда: открытая лицензия, ставится вместе с Python одной командой
равны
Счёт честный: Excel берёт порог входа и открытие файла — для разовой ручной таблички его действительно хватает. pandas забирает всё, что повторяется и растёт. Цена — равная: оба инструмента обходятся бесплатно, просто по-разному.
Одна задача — обе руки
Датасет знакомый: шесть заказов интернет-магазина из урока 2 курса pandas — тот же, что в сравнении с SQL. Вопрос один: сколько заказов и какая выручка в каждом городе. Сначала pandas: запускаемый код прямо на странице.
Строка csv_data — это и есть маленький orders.csv: в песочнице нет файловой системы, поэтому данные встроены в код. На своём компьютере вместо StringIO сработает pd.read_csv("orders.csv") из урока 2.
Теперь те же шаги руками в Excel — без кода, честно и по порядку:
Как то же самое делает Excel
1.Открыть orders.csv и выделить таблицу с заголовками.
2.Автофильтром по столбцу city оставить один город — например, Москву.
3.Скопировать отфильтрованные строки на свободный лист, добавить столбец «выручка» с формулой price × qty и протянуть её вниз.
4.Посчитать число строк и просуммировать выручку — это ответ по Москве.
5.Повторить шаги 2–4 для Казани и Сочи.
6.Собрать итоги в одну табличку и отсортировать по выручке от большего к меньшему.
Ни один из этих шести шагов не записан в самом файле: через полгода их придётся восстанавливать по памяти. Код выше память имеет — это его собственные строки: при новых данных он пересчитает всё сам, а Excel-путь начнётся заново с шага 2. Команды из кода — read_csv, groupby, sort_values — подскажет шпаргалка pandas.
Блок запускается кнопкой прямо на странице: песочница подтягивает pandas при первом запуске. Вывод в блоке — настоящий, полученный интерпретатором Python, а не обещание.
Частые вопросы: pandas или Excel
Зависит от того, какая работа у вас уже есть. Если данные — файлы, которые вы разбираете регулярно, а Python вы всё равно решили учить, начинайте с pandas: он закрывает весь цикл, от чтения xlsx до готового отчёта. Если же задачи одноразовые, а программирование в планах нет — pandas не окупится, и Excel останется вашим главным инструментом. В самоучителе порядок такой: основы Python, затем pandas — и тогда Excel-файлы открываются одной строкой read_excel из урока 2 курса.
Нет. pandas заменяет только повторяемые шаги: фильтры, сводные, пересборку отчёта на свежих данных. Сам Excel никуда не денется — коллеги продолжат присылать xlsx, и это нормально: read_excel читает их напрямую, без ручного перекладывания в CSV. Разовые таблички на десяток строк по-прежнему быстрее сделать руками. Так что честная формула не «замена», а разделение труда.
Да: pd.read_excel("orders.xlsx"), а если листов несколько — параметр sheet_name с именем листа. Для работы read_excel нужна библиотека openpyxl: на своём компьютере она ставится командой pip install openpyxl. Честная оговорка: в браузерной песочнице openpyxl нет, поэтому приложить файл к странице нельзя — в примере выше данные вставлены кодом, так работает и весь наш курс. Чтение Excel-файлов разобрано в уроке 2 курса pandas.
Да, у DataFrame есть метод to_excel: df.to_excel("отчёт.xlsx") записывает таблицу в xlsx, и для записи нужна та же openpyxl. В уроках Питоники to_excel отдельно не разбирается — он упоминается в уроке 5 курса BeautifulSoup как способ сохранить результат парсинга. Большинство выгрузок при этом закрывает to_csv из урока 2: CSV открывается везде, включая сам Excel.
Смотрите не на инструмент, а на задачу — весь вердикт выше именно об этом. Если отчёт каждую неделю пересобирается из одного и того же файла, переход окупится за первый же месяц. Если вы делаете десять разных мелких таблиц в месяц, каждая под свой разовый вопрос, — pandas почти не выиграет. Рабочий компромисс для старта: не «переходить», а добавить pandas к Excel — читать xlsx кодом, а мелочи оставить мышке.
Первый урок собирает таблицу из словаря, второй читает настоящий orders.csv — всё в браузере, без установки Python. Excel при этом не исчезает: он просто перестаёт быть единственным инструментом.