0Pricing
Python Academy · Урок

Формулы и диаграммы

Добавляйте формулы и диаграммы

«Формулы и диаграммы» — бесплатный урок 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 — локальная установка не требуется.

Все уроки этого курса

  1. Чтение книг
  2. Запись и оформление ячеек
  3. Формулы и диаграммы
  4. Пакетная обработка отчётов
← Назад к Python Academy