Формулы и диаграммы
Добавляйте формулы и диаграммы
«Формулы и диаграммы» — бесплатный урок Python Academy на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения Python Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс Python Academy содержит 4 уроков всего.
За пределами статических значений
Настоящие электронные таблицы выполняют вычисления. openpyxl умеет записывать формулы Excel, которые пересчитываются при изменении данных, и добавлять диаграммы, отображающие числа непосредственно внутри книги.
Благодаря этому созданные отчёты выглядят привычно для пользователей Excel.
Запись формулы
Формула — это просто строка, начинающаяся с =. Присвойте её так же, как любое значение: ws['B10'] = '=SUM(B2:B9)'. Excel вычислит её при открытии файла.
openpyxl сохраняет текст формулы, но не вычисляет результат самостоятельно.
first_row, last_row = 2, 9
formula = '=SUM(B' + str(first_row) + ':B' + str(last_row) + ')'
print('Cell B10 ->', formula)Распространённые функции
Повседневные функции Excel также работают как строки:
=SUM(range)— сумма=AVERAGE(range)— среднее значение=MAX(range)/=MIN(range)— максимальное и минимальное значения=COUNT(range)— количество чисел
Составляйте их точно так же, как при вводе в Excel.
Формулы не вычисляются в Python
Важно: если вы запишете формулу, а затем прочитаете её с помощью openpyxl, не открывая файл в Excel, вы получите текст формулы, а не число. Чтобы прочитать вычисленные результаты, сначала откройте файл в Excel, а затем загрузите его с параметром data_only=True.
Создание ссылок на ячейки
Генерация формул часто означает программное создание ссылок. Объединение буквы столбца с номером строки даёт адрес. Это обычная работа со строками.
col = 'C'
def cell_ref(c, r):
return c + str(r)
total_formula = '=AVERAGE(' + cell_ref(col, 2) + ':' + cell_ref(col, 11) + ')'
print(total_formula)Добавление диаграммы
openpyxl умеет встраивать диаграммы. Создайте объект диаграммы, например BarChart(), передайте ему данные через Reference для диапазона ячеек и добавьте его на лист с помощью ws.add_chart(chart, 'E2').
Доступны столбчатые, линейные, круговые и точечные диаграммы.
Ссылки на данные
Объект Reference(ws, min_col=2, min_row=1, max_row=6) выбирает ячейки, из которых диаграмма считывает данные. Категории, то есть подписи, берутся из другой ссылки. Правильно определить эти диапазоны — ключевой шаг.
data_rows = 6
ref = {'min_col': 2, 'min_row': 1, 'max_row': data_rows}
print('Chart reads column', ref['min_col'], 'rows', ref['min_row'], 'to', ref['max_row'])Заголовки и оси диаграммы
Задайте chart.title = 'Monthly Sales', а подписи осей — через chart.x_axis.title и chart.y_axis.title. Подписанная диаграмма внутри отчёта не требует отдельного объяснения.
Выбор типа диаграммы
Здесь действуют те же рекомендации, что и для любой визуализации: столбчатая диаграмма подходит для сравнения категорий, линейная — для тенденций, круговая — для частей целого. Выбирайте тип, соответствующий вопросу, на который отвечает ваш отчёт.
question = 'how did revenue change month over month'
if 'change' in question or 'trend' in question:
print('Use a LineChart')
else:
print('Use a BarChart')Объединение всех элементов
Обычно отчёт записывает таблицу данных, добавляет внизу формулу для итога, а затем размещает диаграмму, ссылающуюся на те же данные. При открытии Excel показывает актуальные итоги и визуализацию — всё это создано из Python.
Условные формулы
Логические функции Excel тоже работают как строки: =IF(B2>100, 'High', 'Low') или =SUMIF(A2:A9, 'North', B2:B9). Они позволяют созданному отчёту классифицировать и агрегировать данные без дополнительных проходов Python.
Создавайте их с помощью того же объединения строк, которое используется для любой формулы.
Быстрая проверка
Проверьте свои знания о формулах и диаграммах.
Итоги
Теперь вы умеете добавлять логику и визуализации:
- Записывайте формулы как строки с
=; openpyxl сохраняет их, но не вычисляет - Используйте
data_only=Trueпосле того, как Excel вычислит результаты - Создавайте ссылки программно из букв столбцов и номеров строк
- Встраивайте диаграммы с помощью
BarChart()/LineChart(),Referenceиws.add_chart
Часто задаваемые вопросы
Урок «Формулы и диаграммы» бесплатный?
Да — полный текст урока «Формулы и диаграммы» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс Python Academy, подпишись на CoddyKit PRO. Курс Python Academy содержит 4 уроков всего.
Чему я научусь в уроке «Формулы и диаграммы»?
Добавляйте формулы и диаграммы Ты практикуешь Python Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать Python Academy?
Предыдущий опыт не требуется. Python Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.
Сколько времени занимает урок «Формулы и диаграммы»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке Python Academy?
Да. Каждый урок Python Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Чтение книг
- Запись и оформление ячеек
- Формулы и диаграммы
- Пакетная обработка отчётов