pandas.DataFrame.to_excel
- DataFrame.to_excel(excel_writer, *, sheet_name='Sheet1', na_rep='', float_format=None, columns=None, header=True, index=True, index_label=None, startrow=0, startcol=0, engine=None, merge_cells=True, inf_rep='inf', freeze_panes=None, storage_options=None, engine_kwargs=None)[source]
-
Запись объекта в лист Excel.
Для записи одного объекта в файл Excel .xlsx достаточно указать имя целевого файла. Для записи в несколько листов необходимо создать объект ExcelWriter с именем целевого файла и указать лист, в который нужно записать данные.
Для записи в несколько листов нужно указать уникальные sheet_name. После записи всех данных в файл необходимо сохранить изменения. Обратите внимание, что создание объекта ExcelWriter с именем файла, который уже существует, приведёт к стиранию содержимого существующего файла.
- Параметры:
-
- excel_writer:путь, файловый объект или объект ExcelWriter
-
Путь к файлу или существующий ExcelWriter.
- sheet_name:строка, по умолчанию ‘Sheet1’
-
Имя листа, который будет содержать DataFrame.
- na_rep:строка, по умолчанию ‘’
-
Представление отсутствующих данных.
- float_format:строка, необязательно
-
Строка формата для чисел с плавающей точкой. Например,
float_format="%.2f"отформатирует 0.1234 до 0.12. - columns:последовательность или список строк, необязательно
-
Столбцы для записи.
- header:булево значение или список строк, по умолчанию True
-
Записывать имена столбцов. Если задан список строк, предполагается, что это псевдонимы имён столбцов.
- index:булево значение, по умолчанию True
-
Записывать имена строк (индекс).
- index_label:строка или последовательность, необязательно
-
Метка столбца для столбца(ов) индекса, если необходимо. Если не указано, и header и index равны True, то используются имена индекса. Если используется MultiIndex, должна быть указана последовательность.
- startrow:целое число, по умолчанию 0
-
Номер строки левого верхнего ячейки для выгрузки DataFrame.
- startcol:целое число, по умолчанию 0
-
Номер столбца левой верхней ячейки для выгрузки DataFrame.
- engine:строка, необязательно
-
Двигатель записи, ‘openpyxl’ или ‘xlsxwriter’. Также можно установить это через параметры
io.excel.xlsx.writerилиio.excel.xlsm.writer. - merge_cells:булево значение, по умолчанию True
-
Записывать MultiIndex и иерархические строки как объединённые ячейки.
- inf_rep:строка, по умолчанию ‘inf’
-
Представление бесконечности (в Excel нет родного представления бесконечности).
- freeze_panes:кортеж из целых чисел (длина 2), необязательно
-
Указывает нижнюю строку и правый столбец, которые должны быть заморожены (с учётом нумерации с 1).
- storage_options:словарь, необязательно
-
Дополнительные параметры, которые имеют смысл для конкретного подключения хранилища, например, хост, порт, имя пользователя, пароль и т. д. Для HTTP(S) URL-адресов пары ключ-значение передаются в
urllib.request.Requestкак параметры заголовка. Для других URL-адресов (например, начинающихся с «s3://» и «gcs://») пары ключ-значение передаются вfsspec.open. Дополнительную информацию смотрите вfsspecиurllib. Более подробные примеры параметров хранения смотрите здесь.В версии 1.2.0.
- engine_kwargs:словарь, необязательно
-
Произвольные ключевые аргументы, передаваемые в движок 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, можно передать ключевое слово engine (движок по умолчанию выбирается автоматически в зависимости от расширения файла):
>>> df1.to_excel('output1.xlsx', engine='xlsxwriter')
© 2008–2022, AQR Capital Management, LLC, Lambda Foundry, Inc. and PyData Development Team
Licensed under the 3-clause BSD License.
https://pandas.pydata.org/pandas-docs/version/2.2.2/reference/api/pandas.DataFrame.to_excel.html