pandas.DataFrame.to_excel#

DataFrame.to_excel(excel_writer, *, sheet_name='Лист1', na_rep='', float_format=None, столбцы=None, header=True, index=True, index_label=None, startrow=0, startcol=0, движок=None, merge_cells=True, inf_rep='inf', freeze_panes=None, storage_options=None, engine_kwargs=None)[источник]#

Запись объекта на лист Excel.

Для записи одного объекта в файл Excel .xlsx достаточно указать имя целевого файла. Для записи на несколько листов необходимо создать ExcelWriter объект с именем целевого файла и указанием листа в файле для записи.

Несколько листов могут быть записаны путём указания уникальных sheet_name. После записи всех данных в файл необходимо сохранить изменения. Обратите внимание, что создание ExcelWriter объект с именем файла, который уже существует, приведёт к стиранию содержимого существующего файла.

Параметры:
excel_writerпуть, файлоподобный или объект ExcelWriter

Путь к файлу или существующий ExcelWriter.

sheet_namestr, по умолчанию ‘Sheet1’

Имя листа, который будет содержать DataFrame.

na_repstr, по умолчанию ‘’

Представление отсутствующих данных.

float_formatstr, optional

Строка формата для чисел с плавающей точкой. Например float_format="%.2f" отформатирует 0.1234 как 0.12.

столбцыпоследовательность или список строк, опционально

Столбцы для записи.

headerbool или список строк, по умолчанию True

Записать названия столбцов. Если задан список строк, он считается псевдонимами для названий столбцов.

indexbool, по умолчанию True

Записать имена строк (индекс).

index_labelstr или sequence, опционально

Метка столбца для столбца(ов) индекса, если требуется. Если не указано, и header и index равны True, то используются имена индексов. Последовательность должна быть задана, если DataFrame использует MultiIndex.

startrowint, по умолчанию 0

Верхняя левая ячейка строки для выгрузки фрейма данных.

startcolint, по умолчанию 0

Верхняя левая ячейка столбца для выгрузки фрейма данных.

движокstr, optional

Движок записи для использования, 'openpyxl' или 'xlsxwriter'. Вы также можете установить это через опции io.excel.xlsx.writer или io.excel.xlsm.writer.

merge_cellsbool, по умолчанию True

Записывать MultiIndex и иерархические строки как объединенные ячейки.

inf_repstr, по умолчанию 'inf'

Представление бесконечности (в Excel нет нативного представления для бесконечности).

freeze_panesкортеж из int (длина 2), опционально

Указывает самую нижнюю строку и самый правый столбец (начиная с 1), которые должны быть зафиксированы.

storage_optionsdict, optional

Дополнительные параметры, которые имеют смысл для конкретного соединения с хранилищем, например, хост, порт, имя пользователя, пароль и т.д. Для HTTP(S) URL пары ключ-значение передаются в urllib.request.Request в качестве параметров заголовка. Для других URL-адресов (например, начинающихся с "s3://" и "gcs://") пары ключ-значение передаются fsspec.open. Пожалуйста, смотрите fsspec и urllib для получения дополнительной информации, а для дополнительных примеров по опциям хранения см. здесь.

Добавлено в версии 1.2.0.

engine_kwargsdict, optional

Произвольные ключевые аргументы, передаваемые движку Excel.

Смотрите также

to_csv

Запись DataFrame в файл значений, разделенных запятыми (csv).

ExcelWriter

Класс для записи объектов DataFrame в листы Excel.

read_excel

Чтение файла Excel в DataFrame pandas.

read_csv

Чтение файла значений, разделенных запятыми (csv), в DataFrame.

io.formats.style.Styler.to_excel

Добавление стилей в лист Excel.

Примечания

Для совместимости с to_csv(), to_excel сериализует списки и словари в строки перед записью.

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

Примеры

Создать, записать и сохранить рабочую книгу:

>>> df1 = pd.DataFrame([['a', 'b'], ['c', 'd']],
...                    index=['row 1', 'row 2'],
...                    columns=['col 1', 'col 2'])
>>> df1.to_excel("output.xlsx")  

Чтобы указать имя листа:

>>> df1.to_excel("output.xlsx",
...              sheet_name='Sheet_name_1')  

Если вы хотите записать более чем на один лист в книге, необходимо указать объект ExcelWriter:

>>> df2 = df1.copy()
>>> with pd.ExcelWriter('output.xlsx') as writer:  
...     df1.to_excel(writer, sheet_name='Sheet_name_1')
...     df2.to_excel(writer, sheet_name='Sheet_name_2')

ExcelWriter также можно использовать для добавления в существующий файл Excel:

>>> with pd.ExcelWriter('output.xlsx',
...                     mode='a') as writer:  
...     df1.to_excel(writer, sheet_name='Sheet_name_3')

Чтобы установить библиотеку, используемую для записи файла Excel, вы можете передать движок ключевое слово (движок по умолчанию автоматически выбирается в зависимости от расширения файла):

>>> df1.to_excel('output1.xlsx', engine='xlsxwriter')