JavaRush /Курсы /Python SELF /Экспорт отфильтрованных и обработанных данных в Excel

Экспорт отфильтрованных и обработанных данных в Excel

Python SELF
28 уровень , 4 лекция
Открыта

Представьте себе, что вы — космический исследователь, и данные — это ваша карта звездного неба. Она громоздкая, запутанная и абсолютно необходимая. После тщательной фильтрации и анализа эти данные требуют упорядочивания и сохранения в легко читаемом формате. И вот тут на сцену выходит наш герой — экспорт данных в Excel. Он позволяет вам делиться своими находками с коллегами или готовить отчеты для важного совещания. В мире, где данные — это новая нефть, навык создания отчетов буквально за несколько строк кода может стоить миллион.

1. Основные аспекты экспорта данных

Экспорт данных в Excel — это не просто перевод из одного формата в другой. Это возможность настроить отчеты так, чтобы они были удобны и понятны. Как говорил один мой знакомый программист: "Питон способен на магию, но даже Гарри Поттеру нужна палочка". В нашем случае палочка — это метод to_excel из библиотеки pandas.

Основы to_excel

Начнем с простого примера экспорта данных из DataFrame в Excel-файл. Допустим, у нас есть DataFrame с данными записей об участниках марафона:

Python

import pandas as pd

# Создаем DataFrame
data = {
    'Имя': ['Анна', 'Борис', 'Виктор', 'Галина'],
    'Возраст': [29, 34, 22, 28],
    'Город': ['Москва', 'Санкт-Петербург', 'Казань', 'Новосибирск'],
    'Финишное время': ['03:15:30', '03:45:10', '03:25:45', '03:50:05']
}

df = pd.DataFrame(data)

# Экспортируем DataFrame в Excel
df.to_excel('marathon_participants.xlsx', index=False)

В этом примере мы создали простой DataFrame и экспортировали его в файл marathon_participants.xlsx. Обратите внимание, что мы установили параметр index=False, чтобы не экспортировать индексы DataFrame в Excel, если они не нужны.

Добавление формата и стилей

Переходим к следующему уровню мастерства — добавлению стиля. Потому что кто сказал, что данные не могут быть модными? С библиотекой pandas и openpyxl можно легко форматировать таблицы и добавлять стили.

Python

import pandas as pd
from openpyxl import Workbook

# Создаем DataFrame
data = {
    'Имя': ['Анна', 'Борис', 'Виктор', 'Галина'],
    'Возраст': [29, 34, 22, 28],
    'Город': ['Москва', 'Санкт-Петербург', 'Казань', 'Новосибирск'],
    'Финишное время': ['03:15:30', '03:45:10', '03:25:45', '03:50:05']
}

df = pd.DataFrame(data)

# Записываем в Excel с форматированием
with pd.ExcelWriter('styled_marathon.xlsx', engine='openpyxl') as writer:
    df.to_excel(writer, index=False, sheet_name='Участники')
    worksheet = writer.sheets['Участники']
    for col in worksheet.columns:
        max_length = 0
        column = col[0].column_letter # получаем буквенное обозначение столбца
        for cell in col:
            try:
                if len(str(cell.value)) > max_length:
                    max_length = len(cell.value)
            except:
                pass
        adjusted_width = (max_length + 2) * 1.2
        worksheet.column_dimensions[column].width = adjusted_width

В этом примере мы не только экспортируем данные, но и подгоняем ширину столбцов в соответствии с содержимым, чтобы они выглядели аккуратнее в Excel. Используем openpyxl, чтобы получить доступ к листу и применить стилизацию.

Работа с несколькими листами

Создание отчетов с несколькими листами может звучать как задача для Супермена, но на самом деле это довольно просто. Представьте, что вы хотите хранить данные из разных годовых соревнований на отдельных листах.

Python

import pandas as pd

# Данные для разных лет
data_2022 = {
    'Имя': ['Дмитрий', 'Елена'],
    'Возраст': [30, 29],
    'Город': ['Омск', 'Владивосток'],
    'Финишное время': ['03:20:05', '03:35:40']
}

data_2023 = {
    'Имя': ['Игорь', 'Катерина'],
    'Возраст': [31, 27],
    'Город': ['Челябинск', 'Екатеринбург'],
    'Финишное время': ['03:29:10', '03:40:20']
}

df_2022 = pd.DataFrame(data_2022)
df_2023 = pd.DataFrame(data_2023)

# Записываем данные на разные листы
with pd.ExcelWriter('marathon_data.xlsx') as writer:
    df_2022.to_excel(writer, sheet_name='2022', index=False)
    df_2023.to_excel(writer, sheet_name='2023', index=False)

Этот код создает файл marathon_data.xlsx с двумя листами, на которых находятся данные за разные годы. Это очень удобно для разделения данных по годам, проектам или любым другим категориям.

2. Всегда есть что улучшить

Постарайтесь подумать над тем, как автоматизация экспорта может быть встроена в более сложные процессы вашего проекта. Может, вам захочется добавить автоматическое создание диаграмм после экспорта? Или интегрировать отчеты с веб-интерфейсом для более удобного доступа?

В любом случае, экспорт данных в Excel — это только начало пути к созданию красивых и информативных отчетов, которые сделают вас звездой аналитики на вашем рабочем месте или в учебе!

Теперь у вас есть инструменты для автоматизации экспорта данных, и вы знаете, как сделать ваши отчеты в Excel более читаемыми и презентабельными. Так что вперед, и пусть ваши данные всегда работают на вас!

Комментарии (1)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Slevin Уровень 1
18 июля 2025
Тема с форматированием записи в файл - не раскрыта совершенно