Экспорт нескольких фреймов данных в Excel на Python: подробное руководство

Экспорт данных из Python в Excel является распространенным требованием при выполнении задач анализа данных и составления отчетов. В этой статье блога мы рассмотрим различные методы экспорта нескольких фреймов данных в Excel с помощью Python. Мы предоставим примеры кода для каждого метода, что позволит вам выбрать тот, который лучше всего соответствует вашим потребностям. Давайте погрузимся!

Метод 1: использование pandas.DataFrame.to_excel
Библиотека pandas предоставляет удобный метод под названием to_excel, который позволяет экспортировать фрейм данных в файл Excel. Чтобы экспортировать несколько фреймов данных, вы можете создать отдельные листы Excel для каждого фрейма данных в одной книге. Вот пример:

import pandas as pd
# Create your dataframes (df1, df2, df3, etc.)
# Create a Pandas Excel writer using the xlsxwriter engine
writer = pd.ExcelWriter('output.xlsx', engine='xlsxwriter')
# Export dataframes to separate worksheets
df1.to_excel(writer, sheet_name='Sheet1')
df2.to_excel(writer, sheet_name='Sheet2')
df3.to_excel(writer, sheet_name='Sheet3')
# Save the workbook
writer.save()

Метод 2: использование библиотеки openpyxl
Библиотека openpyxl предоставляет более расширенные функции для работы с файлами Excel. Вы можете использовать его для создания нескольких листов и экспорта фреймов данных на каждый лист. Вот пример:

import openpyxl
from openpyxl.utils.dataframe import dataframe_to_rows
# Create your dataframes (df1, df2, df3, etc.)
# Create an Excel workbook
workbook = openpyxl.Workbook()
# Export dataframes to separate worksheets
worksheet1 = workbook.active
worksheet1.title = 'Sheet1'
for row in dataframe_to_rows(df1, index=False, header=True):
    worksheet1.append(row)
worksheet2 = workbook.create_sheet(title='Sheet2')
for row in dataframe_to_rows(df2, index=False, header=True):
    worksheet2.append(row)
worksheet3 = workbook.create_sheet(title='Sheet3')
for row in dataframe_to_rows(df3, index=False, header=True):
    worksheet3.append(row)
# Save the workbook
workbook.save('output.xlsx')

Метод 3. Использование библиотеки xlsxwriter
Библиотека xlsxwriter предоставляет широкие возможности для создания и форматирования файлов Excel. Это позволяет экспортировать несколько кадров данных на отдельные листы в книге. Вот пример:

import xlsxwriter
# Create your dataframes (df1, df2, df3, etc.)
# Create an Excel workbook
workbook = xlsxwriter.Workbook('output.xlsx')
# Export dataframes to separate worksheets
worksheet1 = workbook.add_worksheet('Sheet1')
for r, row in enumerate(df1.values):
    for c, value in enumerate(row):
        worksheet1.write(r, c, value)
worksheet2 = workbook.add_worksheet('Sheet2')
for r, row in enumerate(df2.values):
    for c, value in enumerate(row):
        worksheet2.write(r, c, value)
worksheet3 = workbook.add_worksheet('Sheet3')
for r, row in enumerate(df3.values):
    for c, value in enumerate(row):
        worksheet3.write(r, c, value)
# Save the workbook
workbook.close()

Экспорт нескольких фреймов данных в файлы Excel на Python можно выполнить различными методами. В этой статье мы рассмотрели три популярных подхода с использованием библиотек pandas, openpyxl и xlsxwriter. Каждый метод предлагает свои преимущества и гибкость. Используя эти методы, вы можете эффективно экспортировать и систематизировать данные для дальнейшего анализа или составления отчетов.