Python + OpenPyXl = Excel, электронные таблицы на питоне. Как создать xlsx, изменить и стилизовать

preview_player
Показать описание
Как на питоне создать экселевский файлик? Как прочитать xlsx на Python? Как сделать красивое оформление таблиц, как использовать формулы. Об этом в сегодняшнем видео.
~~
👽 Код из видео
🤑 Спасибо блоггеру
~~
☠️ Таймкоды
00:00 О чем это видео
00:57 Почему OpenPyXl
02:04 Структура кода для видео
02:47 Использование Faker для генерации фейковых данных для заливки в таблицы
03:27 Создание xlsx файла и запись в него
07:13 Чтение таблиц эксель на питоне
12:03 Модификация таблиц с помощью openpyxl (колонки, строки, добавление, перемещение)
16:55 Автофильтры и сортировка
20:01 Стилизация данных (цвета, границы, заливки, шрифты)
28:39 Формулы в экселе с помощью openpyxl

~~
~~
#python #excel #программирование
Рекомендации по теме
Комментарии
Автор

Лучшее видео из тех, что я нашёл на данную тему. Спасибо!

glamb_is_learning
Автор

Толковый видос, неделю назад как раз искал хорошую библиотеку для excel. Пришлось на время записывать в csv. Но в excel конечно красивее, ещё и заливка есть, круто!

monetary_supply
Автор

Привет! Классное видео! Мне не хватило примера простого шаблонизатора для данных - чтобы словари переводить в ексель и обратно.
Т.е. непосредственно работа с данными

vladimir-monin
Автор

Тоже это использую. Видео ещё не смотрел, но 👍 и 🔔

noookm
Автор

супер, контент в кайф, давай еще!
Лайк однозначно)

dailyvideo
Автор

Классное видео, за что столько дизов?

gooryewood
Автор

Очень интересно. Пожалуйста, рассмотрите графики, как их строить

pavelpeklov
Автор

Совет, не начинайте объяснять с уже заполненным кодом, начинайте писать все с нуля.

mickey
Автор

У ячейки есть такой метод column_letter. А как получить названия колонок у объединённой ячейки?
Я додумался только до двух вариантов
0) получить wb.cell(row, col).coordinate и тут убрать цифры справа
1)получить wb.merged_cells.ranges и уже оттуда, например <MergedCellRange B1:F1>, уже как-то получить названия колонок

noookm
Автор

Спасибо за такое видео, отличный слог, приятно слушать и лего воспринимается

Подскажите пожалуйста, как можно открывать файлы, указанные пользователем?
Переименовывать каждый раз файл в, например, test.xlsx неудобно совсем, может есть какие-то варианты, через графику например?
Открываю через book =
Спасибо еще раз!

Volikk
Автор

А можете порекомендовать пакет для работы с ods? Понятно что можно файл пересохранить в xlsx и работать через openpyxl, но хотелось бы работать с форматами опеноффиса напрямую....

sergeys.
Автор

А как добавить данные в столбец по его номеру?

Например, хочу добавить число в 15-й столбец 3-я строка, а какая у столбца буква не знаю.

xyjmztu
Автор

@Azzrael_Code, вопрос, у меня написан код (модификация таблиц с помощью ... 12:03) один в один как у тебя (уверен на 100%) но у меня не происходят изменения в файле ексель. но ошибок прога не видит ? что делать ? может у меня что то не правильно настроено ?

bahubali_onegreat
Автор

Напрягают постоянные дергающие метания курсором по экрану...

AZmievsky
Автор

Отличное видео, спасибо! А может известно как сделать через openpyxl выпадающий список в ячейках/столбцах Excel? и общий доступ к файлу Excel сделать, что бы в нем одновременно несколько человек сидели и работали?

Abramov_Andrey
Автор

Отлично. Сколько не смотрел по openpyxl - все очень поверхостно в отличии от этого видео. В процессе просмотра возник вопрос - почему вы удаляете по молчанию созданную вкладку, а не переименовываете ее ? И второй вопрос, когда мы задаем щирину колонки с помошью column_dimensions то обращаемся к колонке по ее буквенному индексу, а как поступить, если хочется обратиться к колонке по ее цифровому номеру, ведь к ячейке можно обращаться и так cell(row=3, column=1)

eYVgeni
Автор

ДД. у меня вопрос: если например стоит задача обработать/проанализировать некий массив данных excel. пытаюсь сделать это через макрос VBA, но скорость как-то не устраивает. Вопрос: если тот же алгоритм реализовать через Питон, то будет ли ускорение работы по сравнению с VBA?

kairatalmenov
Автор

жаль что питон не может строку превратить в переменную типа "gold =100" в gold=100

waltage
Автор

Можно ли применить ширину колонки сразу для нескольких столбцов?

viktoragusev
Автор

Может кто знает:
Помешаю данные списком в sheet.cell (где sheet это sheet = book[текущий файл или создаю если его нет]) и сохраняю.
Но есть один столбец в ячейки которого помешается текст количеством символов в районе 1000, и кб 2 где считал.
Так вот когда excel открываю, у меня в этой ячейке может весь текст быть, а в ячейке ниже не полностью, обрезанный, при каждом запуске цикла, объем меняется текста.
При этом после записи, если задам строго принт на ячейку (value) получаю весь текст, а в excel не весь.
Подскажите в чем может быть проблема.
Так же может как то изменять размер заметил строка:
cell.alignment = Alignment(wrapText=True, vertical="top")
Еще изменяю по ширине и высоте текста размер ячейки, если их убрать текст так же может не полностью отобразится, а может полностью всегда рандомно. Получается, что при записи что то не так записывается (именно с этим столбцом) и я хз что, вторые сутки ищу. В поисковиках инфы найти не могу.

endresk