А зачем это зрителю? Продолжительность видео увеличится втрое и большую его часть вы будете наблюдать как на экране появляются символы, а качество кода будет хуже ( не буду же я на видео, например, писать комменты к методам ). Я сужу по себе - смотреть такие видео - боль. Вроде и промотать хочется, а вдруг что важное пропущу. Поэтому такой контент я чаще смотрю на скорости 1.5. ~~ Смысл в таком видео есть для автора. В длинные видео помещается больше рекламы, а потому ютюб любит такие видео ;) и часто длинные видео лучше ранжируются. Поэтому вполне возможно я последую вашему совету ;), но я убежден что для разработчика чуть выше абсолютного новичка готовый, хорошо задокументированный код лучше.
Досмотрел. Теперь понял про стили. Вопрос: используется цифра 999. В экселе столько строк с данными, или просто большое число, чтобы все строки пробежать?
Привет! Классное видео! Мне не хватило примера простого шаблонизатора для данных - чтобы словари переводить в ексель и обратно. Т.е. непосредственно работа с данными
Замудрил капец, одна программа -вторая- там вызови- тут нажми- сущностей насоздавал, повторить мне с нуля было проблемно, в 90% случаев эксель файл приходит со стороны
А можете порекомендовать пакет для работы с ods? Понятно что можно файл пересохранить в xlsx и работать через openpyxl, но хотелось бы работать с форматами опеноффиса напрямую....
С OpenOffice не работал от слова совсем. Поэтому ничем не смогу помочь, к сож. По большому счету и экселем то уже не пользуюсь почти. Все что требует таблиц давно перевел в Google Sheets.
У ячейки есть такой метод column_letter. А как получить названия колонок у объединённой ячейки? Я додумался только до двух вариантов 0) получить wb.cell(row, col).coordinate и тут убрать цифры справа 1)получить wb.merged_cells.ranges и уже оттуда, например , уже как-то получить названия колонок
@@AzzraelCode посмотрел. Нашёл более подходящее решение через openpyxl.utils.cell.coordinate_from_string(coord_string). Не знал, что есть ещё openpyxl.utils. Спасибо большое.
Может кто знает: Помешаю данные списком в sheet.cell (где sheet это sheet = book[текущий файл или создаю если его нет]) и сохраняю. Но есть один столбец в ячейки которого помешается текст количеством символов в районе 1000, и кб 2 где считал. Так вот когда excel открываю, у меня в этой ячейке может весь текст быть, а в ячейке ниже не полностью, обрезанный, при каждом запуске цикла, объем меняется текста. При этом после записи, если задам строго принт на ячейку (value) получаю весь текст, а в excel не весь. Подскажите в чем может быть проблема. Так же может как то изменять размер заметил строка: cell.alignment = Alignment(wrapText=True, vertical="top") Еще изменяю по ширине и высоте текста размер ячейки, если их убрать текст так же может не полностью отобразится, а может полностью всегда рандомно. Получается, что при записи что то не так записывается (именно с этим столбцом) и я хз что, вторые сутки ищу. В поисковиках инфы найти не могу.
@Azzrael_Code, вопрос, у меня написан код (модификация таблиц с помощью ... 12:03) один в один как у тебя (уверен на 100%) но у меня не происходят изменения в файле ексель. но ошибок прога не видит ? что делать ? может у меня что то не правильно настроено ?
Толковый видос, неделю назад как раз искал хорошую библиотеку для excel. Пришлось на время записывать в csv. Но в excel конечно красивее, ещё и заливка есть, круто!
Отличное видео, спасибо! А может известно как сделать через openpyxl выпадающий список в ячейках/столбцах Excel? и общий доступ к файлу Excel сделать, что бы в нем одновременно несколько человек сидели и работали?
ДД. у меня вопрос: если например стоит задача обработать/проанализировать некий массив данных excel. пытаюсь сделать это через макрос VBA, но скорость как-то не устраивает. Вопрос: если тот же алгоритм реализовать через Питон, то будет ли ускорение работы по сравнению с VBA?
Спасибо за такое видео, отличный слог, приятно слушать и лего воспринимается Подскажите пожалуйста, как можно открывать файлы, указанные пользователем? Переименовывать каждый раз файл в, например, test.xlsx неудобно совсем, может есть какие-то варианты, через графику например? Открываю через book = openpyxl.load_workbook('test.xlsx') Спасибо еще раз!
@@AzzraelCode жаль тут скрин нельзя приложить :) Я собрал скрипт, который в первую очередь проверяет данные в уже имеющейся таблице. Но файлы всегда называются по разному, переименовывать их в "test.xlsx" и класть в папку со скриптом - проблема, возникнет путаница. То есть мне нужно как-то указывать скрипту, с каким именно файлом .xlsx ему нужно работать
Вы по определению вы не можете задать высоту строк в отдельном столбце. Это же таблица. В этом как раз суть таблицы - в структурности данных. В таблице можно менять ширину отдельного столбца и высоту отдельной строки, но не наоборот. Также вы можете объединять ячейки (rowspan, colspan). Ну а чтобы задать высоту строки в таблицы с помощью Python OpenPyXl, первая ссылка в гугле stackoverflow.com/questions/70827844/python-excel-modify-specific-row-height-with-openpyxl
я написал цикл который мне был необходим: for row_num in range (1, ws.max_row + 1): ws.row_dimensions[row_num].height = 25 (пример) Спасибо за видео было очень полезно, особенно со стилизацией .
Отлично. Сколько не смотрел по openpyxl - все очень поверхостно в отличии от этого видео. В процессе просмотра возник вопрос - почему вы удаляете по молчанию созданную вкладку, а не переименовываете ее ? И второй вопрос, когда мы задаем щирину колонки с помошью column_dimensions то обращаемся к колонке по ее буквенному индексу, а как поступить, если хочется обратиться к колонке по ее цифровому номеру, ведь к ячейке можно обращаться и так cell(row=3, column=1)
> почему вы удаляете по молчанию созданную вкладку, а не переименовываете ее я и так и так делаю по настроению. > обратиться к колонке по ее цифровому номеру в openpyxl.utils есть метод get_column_letter(i), где i - индекс колонки начиная с 1
А можно ли создать сводную таблицу в Экселе на основании данных из Pythom, не создавая sheet в Экселе? Я имею ввиду создать сводную таблицу примерно так это создаётся из Power pivot например.
Мне не знаком Power Pivot, поэтому не уверен что я правильно понимаю ваш вопрос. Python может получить данные, обработать их и положить их в эксель в т. ч.
К сожалению ищу и не нахожу как можно разделить информацию в ячейке. Допустим есть размер мебельной секции 700х450х2400. Я хочу выделить каждый размер из общей строки и записать его в следующие 3 пустые колонки, чтобы эти числа дальше умножать на цену за материал. И так каждый ряд (900 всего).