Как записать датафрейм в excel

Вы можете сохранить или записать DataFrame в файл Excel или конкретный лист в файле Excel, используя метод pandas.DataFrame.to_excel() класса DataFrame.

В этом руководстве мы узнаем, как записать DataFrame Pandas в файл Excel с помощью примеров программ Python.

Необходимым условием для работы с функциями файлов Excel в pandas является установка модуля openpyxl. Чтобы установить openpyxl с помощью pip, выполните следующую команду.

pip install openpyxl

Пример 1

Вы можете записать DataFrame в файл Excel без упоминания имени листа. Пошаговый процесс представлен ниже:

  1. Подготовьте свой DataFrame. В этом примере мы инициализируем DataFrame с несколькими строками и столбцами.
  2. Создайте модуль записи Excel с именем выходного файла Excel, в который вы хотите записать наш DataFrame.
  3. Вызов функции to_excel() в DataFrame с помощью модуля записи Excel, переданного в качестве аргумента.
  4. Сохраните файл Excel, используя метод save() Excel Writer.
import pandas as pd

# create dataframe
df_marks = pd.DataFrame({'name': ['Somu', 'Kiku', 'Amol', 'Lini'],
     'physics': [68, 74, 77, 78],
     'chemistry': [84, 56, 73, 69],
     'algebra': [78, 88, 82, 87]})

# create excel writer object
writer = pd.ExcelWriter('output.xlsx')
# write dataframe to excel
df_marks.to_excel(writer)
# save the excel
writer.save()
print('DataFrame is written successfully to Excel File.')

Запустите указанную выше программу, и файл Excel будет создан с именем, указанным при создании модуля записи Excel.

Выходной файл Excel

Откройте файл Excel, и вы увидите индекс, метки столбцов и данные строк, записанные в файл.

Запись DataFrame в лист Excel

Вы можете записать DataFrame на конкретный лист Excel. Пошаговый процесс:

  1. Подготовьте свой DataFrame.
  2. Создайте модуль записи Excel с именем желаемого выходного файла Excel.
  3. Вызовите функцию to_excel() в DataFrame с записывающим устройством и именем листа Excel, переданными в качестве аргументов.
  4. Сохраните файл Excel, используя метод save() Excel Writer.
import pandas as pd

# create dataframe
df_marks = pd.DataFrame({'name': ['Somu', 'Kiku', 'Amol', 'Lini'],
     'physics': [68, 74, 77, 78],
     'chemistry': [84, 56, 73, 69],
     'algebra': [78, 88, 82, 87]})

# create excel writer
writer = pd.ExcelWriter('output.xlsx')
# write dataframe to excel sheet named 'marks'
df_marks.to_excel(writer, 'marks')
# save the excel file
writer.save()
print('DataFrame is written successfully to Excel Sheet.')

Запустите программу:

Выходной файл Excel

Откройте файл Excel. Обратите внимание на название листа Excel. Он назван в честь строки, которую мы указали в качестве второго аргумента функции to_excel().

Работа в листе Excel

В этом руководстве по Pandas мы узнали, как написать Pandas DataFrame в лист Excel с помощью примеров программ Python.

This div height required for enabling the sticky sidebar

  • Редакция Кодкампа

17 авг. 2022 г.
читать 2 мин


Часто вас может заинтересовать экспорт фрейма данных pandas в Excel. К счастью, это легко сделать с помощью функции pandas to_excel() .

Чтобы использовать эту функцию, вам нужно сначала установить openpyxl , чтобы вы могли записывать файлы в Excel:

pip install openpyxl

В этом руководстве будет объяснено несколько примеров использования этой функции со следующим фреймом данных:

import pandas as pd

#create DataFrame
df = pd.DataFrame({'points': [25, 12, 15, 14, 19],
 'assists': [5, 7, 7, 9, 12],
 'rebounds': [11, 8, 10, 6, 6]}) 

#view DataFrame
df

 points assists rebounds
0 25 5 11
1 12 7 8
2 15 7 10
3 14 9 6
4 19 12 6

Пример 1: базовый экспорт

В следующем коде показано, как экспортировать DataFrame по определенному пути к файлу и сохранить его как mydata.xlsx :

df.to_excel (r'C:UsersZachDesktopmydata.xlsx')

Вот как выглядит фактический файл Excel:

Пример 2: Экспорт без индекса

В следующем коде показано, как экспортировать DataFrame в определенный путь к файлу и удалить столбец индекса:

df.to_excel (r'C:UsersZachDesktopmydata.xlsx', index= False )

Вот как выглядит фактический файл Excel:

Пример 3: Экспорт без индекса и заголовка

В следующем коде показано, как экспортировать DataFrame в определенный путь к файлу и удалить столбец индекса и строку заголовка:

df.to_excel (r'C:UsersZachDesktopmydata.xlsx', index= False, header= False )

Вот как выглядит фактический файл Excel:

Пример 4: Экспорт и имя листа

В следующем коде показано, как экспортировать DataFrame в определенный путь к файлу и назвать рабочий лист Excel:

df.to_excel (r'C:UsersZachDesktopmydata.xlsx', sheet_name='this_data')

Вот как выглядит фактический файл Excel:

Полную документацию по функции to_excel() можно найти здесь .

Время на прочтение
7 мин

Количество просмотров 172K

Если Вы только начинаете свой путь знакомства с возможностями Python, ваши познания еще имеют начальный уровень — этот материал для Вас. В статье мы опишем, как можно извлекать информацию из данных, представленных в Excel файлах, работать с ними используя базовый функционал библиотек. В первой части статьи мы расскажем про установку необходимых библиотек и настройку среды. Во второй части — предоставим обзор библиотек, которые могут быть использованы для загрузки и записи таблиц в файлы с помощью Python и расскажем как работать с такими библиотеками как pandas, openpyxl, xlrd, xlutils, pyexcel.

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

Отправная точка — наличие данных

ПЕРЕВОД
Оригинал статьи — www.datacamp.com/community/tutorials/python-excel-tutorial
Автор — Karlijn Willems

Когда вы начинаете проект по анализу данных, вы часто сталкиваетесь со статистикой собранной, возможно, при помощи счетчиков, возможно, при помощи выгрузок данных из систем типа Kaggle, Quandl и т. д. Но большая часть данных все-таки находится в Google или репозиториях, которыми поделились другие пользователи. Эти данные могут быть в формате Excel или в файле с .csv расширением.

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

Проверка качества таблицы

Чтобы проверить качество таблицы, обычно используют простой чек-лист. Отвечают ли данные в таблице следующим условиям:

  • данные являются статистикой;
  • различные типы данных: время, вычисления, результат;
  • данные полные и консистентные: структура данных в таблице — систематическая, а присутствующие формулы — работающие.

Ответы на эти простые вопросы позволят понять, не противоречит ли ваша таблица стандарту. Конечно, приведенный чек-лист не является исчерпывающим: существует много правил, на соответствие которым вы можете проверять данные в таблице, чтобы убедиться, что таблица не является “гадким утенком”. Однако, приведенный выше чек-лист наиболее актуален, если вы хотите убедиться, что таблица содержит качественные данные.

Бест-практикс табличных данных

Читать данные таблицы при помощи Python — это хорошо. Но данные хочется еще и редактировать. Причем редактирование данных в таблице, должно соответствовать следующим условиям:

  • первая строка таблицы зарезервирована для заголовка, а первый столбец используется для идентификации единицы выборки;
  • избегайте имен, значений или полей с пробелами. В противном случае, каждое слово будет интерпретироваться как отдельная переменная, что приведет к ошибкам, связанным с количеством элементов в строке в наборе данных. Лучше использовать подчеркивания, регистр (первая буква каждого раздела текста — заглавная) или соединительные слова;
  • отдавайте предпочтение коротким названиям;
  • старайтесь избегать использования названий, которые содержат символы ?, $,%, ^, &, *, (,),-,#, ?,,,<,>, /, |, , [ ,] ,{, и };
  • удаляйте любые комментарии, которые вы сделали в файле, чтобы избежать дополнительных столбцов или полей со значением NA;
  • убедитесь, что любые недостающие значения в наборе данных отображаются как NA.

После внесения необходимых изменений (или когда вы внимательно просмотрите свои данные), убедитесь, что внесенные изменения сохранены. Это важно, потому что позволит еще раз взглянуть на данные, при необходимости отредактировать, дополнить или внести изменения, сохраняя формулы, которые, возможно, использовались для расчета.

Если вы работаете с Microsoft Excel, вы наверняка знаете, что есть большое количество вариантов сохранения файла помимо используемых по умолчанию расширения: .xls или .xlsx (переходим на вкладку “файл”, “сохранить как” и выбираем другое расширение (наиболее часто используемые расширения для сохранения данных с целью анализа — .CSV и.ТХТ)). В зависимости от варианта сохранения поля данных будут разделены знаками табуляции или запятыми, которые составляют поле “разделитель”. Итак, данные проверены и сохранены. Начинаем готовить рабочее пространство.

Подготовка рабочего пространства

Подготовка рабочего пространства — одна из первых вещей, которую надо сделать, чтобы быть уверенным в качественном результате анализа.

Первый шаг — проверка рабочей директории.

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

Для проверки дайте следующие команды:

# Import `os` 
import os

# Retrieve current working directory (`cwd`)
cwd = os.getcwd()
cwd

# Change directory 
os.chdir("/path/to/your/folder")

# List all files and directories in current directory
os.listdir('.')

Эти команды важны не только для загрузки данных, но и для дальнейшего анализа. Итак, вы прошли все проверки, вы сохранили данные и подготовили рабочее пространство. Уже можно начать чтение данных в Python? :) К сожалению пока нет. Нужно сделать еще одну последнюю вещь.

Установка пакетов для чтения и записи Excel файлов

Несмотря на то, что вы еще не знаете, какие библиотеки будут нужны для импорта данных, нужно убедиться, что у все готово для установки этих библиотек. Если у вас установлен Python 2> = 2.7.9 или Python 3> = 3.4, нет повода для беспокойства — обычно, в этих версиях уже все подготовлено. Поэтому просто убедитесь, что вы обновились до последней версии :)

Для этого запустите в своем компьютере следующую команду:

# For Linux/OS X
pip install -U pip setuptools

# For Windows
python -m pip install -U pip setuptools

В случае, если вы еще не установили pip, запустите скрипт python get-pip.py, который вы можете найти здесь (там же есть инструкции по установке и help).

Установка Anaconda

Установка дистрибутива Anaconda Python — альтернативный вариант, если вы используете Python для анализа данных. Это простой и быстрый способ начать работу с анализом данных — ведь отдельно устанавливать пакеты, необходимые для data science не придется.

Это особенно удобно для новичков, однако даже опытные разработчики часто идут этим путем, ведь Anakonda — удобный способ быстро протестировать некоторые вещи без необходимости устанавливать каждый пакет отдельно.

Anaconda включает в себя 100 наиболее популярных библиотек Python, R и Scala для анализа данных в нескольких средах разработки с открытым исходным кодом, таких как Jupyter и Spyder. Если вы хотите начать работу с Jupyter Notebook, то вам сюда.

Чтобы установить Anaconda — вам сюда.

Загрузка файлов Excel как Pandas DataFrame

Ну что ж, мы сделали все, чтобы настроить среду! Теперь самое время начать импорт файлов.

Один из способов, которым вы будете часто пользоваться для импорта файлов с целью анализа данных — импорт с помощью библиотеки Pandas (Pandas — программная библиотека на языке Python для обработки и анализа данных). Работа Pandas с данными происходит поверх библиотеки NumPy, являющейся инструментом более низкого уровня. Pandas — мощная и гибкая библиотека и она очень часто используется для структуризации данных в целях облегчения анализа.

Если у вас уже есть Pandas в Anaconda, вы можете просто загрузить файлы в Pandas DataFrames с помощью pd.Excelfile ():

# Import pandas
import pandas as pd

# Assign spreadsheet filename to `file`
file = 'example.xlsx'

# Load spreadsheet
xl = pd.ExcelFile(file)

# Print the sheet names
print(xl.sheet_names)

# Load a sheet into a DataFrame by name: df1
df1 = xl.parse('Sheet1')

Если вы не установили Anaconda, просто запустите pip install pandas, чтобы установить пакет Pandas в вашей среде, а затем выполните команды, приведенные выше.

Для чтения .csv-файлов есть аналогичная функция загрузки данных в DataFrame: read_csv (). Вот пример того, как вы можете использовать эту функцию:

# Import pandas
import pandas as pd

# Load csv
df = pd.read_csv("example.csv") 

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

Как записывать Pandas DataFrame в Excel файл

Предположим, после анализа данных вы хотите записать данные в новый файл. Существует способ записать данные Pandas DataFrames (с помощью функции to_excel ). Но, прежде чем использовать эту функцию, убедитесь, что у вас установлен XlsxWriter, если вы хотите записать свои данные на несколько листов в файле .xlsx:

# Install `XlsxWriter` 
pip install XlsxWriter

# Specify a writer
writer = pd.ExcelWriter('example.xlsx', engine='xlsxwriter')

# Write your DataFrame to a file     
yourData.to_excel(writer, 'Sheet1')

# Save the result 
writer.save()

Обратите внимание, что в фрагменте кода используется объект ExcelWriter для вывода DataFrame. Иными словами, вы передаете переменную writer в функцию to_excel (), и указываете имя листа. Таким образом, вы добавляете лист с данными в существующую книгу. Также можно использовать ExcelWriter для сохранения нескольких разных DataFrames в одной книге.

То есть если вы просто хотите сохранить один файл DataFrame в файл, вы можете обойтись без установки библиотеки XlsxWriter. Просто не указываете аргумент, который передается функции pd.ExcelWriter (), остальные шаги остаются неизменными.

Подобно функциям, которые используются для чтения в .csv-файлах, есть также функция to_csv () для записи результатов обратно в файл с разделителями-запятыми. Он работает так же, как когда мы использовали ее для чтения в файле:

# Write the DataFrame to csv
df.to_csv("example.csv")

Если вы хотите иметь отдельный файл с вкладкой, вы можете передать a t аргументу sep. Обратите внимание, что существуют различные другие функции, которые можно использовать для вывода файлов. Их можно найти здесь.

Использование виртуальной среды

Общий совет по установке библиотек — делать установку в виртуальной среде Python без системных библиотек. Вы можете использовать virtualenv для создания изолированных сред Python: он создает папку, содержащую все необходимое для использования библиотек, которые потребуются для Python.

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

Не забудьте отключить среду, когда вы закончите!

# Install virtualenv
$ pip install virtualenv

# Go to the folder of your project
$ cd my_folder

# Create a virtual environment `venv`
$ virtualenv venv

# Indicate the Python interpreter to use for `venv`
$ virtualenv -p /usr/bin/python2.7 venv

# Activate `venv`
$ source venv/bin/activate

# Deactivate `venv`
$ deactivate

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

Но что делать, если у вас несколько проектов, работающих одновременно, и вы не хотите, чтобы они использовали одну и ту же установку Python? Или если у ваших проектов есть противоречивые требования. В таких случаях виртуальная среда — идеальное решение.

Во второй части статьи мы расскажем об основных библиотеках для анализа данных.
Продолжение следует…

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

Помимо чтения и записи рассмотрим, как записывать несколько DataFrame в Excel-файл, как считывать определенные строки и колонки из таблицы и как задавать имена для одной или нескольких таблиц в файле.

Установка Pandas

Для начала Pandas нужно установить. Проще всего это сделать с помощью pip.

Если у вас Windows, Linux или macOS:

pip install pandas # или pip3

В процессе можно столкнуться с ошибками ModuleNotFoundError или ImportError при попытке запустить этот код. Например:

ModuleNotFoundError: No module named 'openpyxl'

В таком случае нужно установить недостающие модули:

pip install openpyxl xlsxwriter xlrd  # или pip3

Будем хранить информацию, которую нужно записать в файл Excel, в DataFrame. А с помощью встроенной функции to_excel() ее можно будет записать в Excel.

Сначала импортируем модуль pandas. Потом используем словарь для заполнения DataFrame:


import pandas as pd

df = pd.DataFrame({'Name': ['Manchester City', 'Real Madrid', 'Liverpool',
'FC Bayern München', 'FC Barcelona', 'Juventus'],
'League': ['English Premier League (1)', 'Spain Primera Division (1)',
'English Premier League (1)', 'German 1. Bundesliga (1)',
'Spain Primera Division (1)', 'Italian Serie A (1)'],
'TransferBudget': [176000000, 188500000, 90000000,
100000000, 180500000, 105000000]})

Ключи в словаре — это названия колонок. А значения станут строками с информацией.

Теперь можно использовать функцию to_excel() для записи содержимого в файл. Единственный аргумент — это путь к файлу:


df.to_excel('./teams.xlsx')

А вот и созданный файл Excel:

файл Excel в python

Стоит обратить внимание на то, что в этом примере не использовались параметры. Таким образом название листа в файле останется по умолчанию — «Sheet1». В файле может быть и дополнительная колонка с числами. Эти числа представляют собой индексы, которые взяты напрямую из DataFrame.

Поменять название листа можно, добавив параметр sheet_name в вызов to_excel():


df.to_excel('./teams.xlsx', sheet_name='Budgets', index=False)

Также можно добавили параметр index со значением False, чтобы избавиться от колонки с индексами. Теперь файл Excel будет выглядеть следующим образом:

Чтение и запись файлов Excel (XLSX) в Python

Запись нескольких DataFrame в файл Excel

Также есть возможность записать несколько DataFrame в файл Excel. Для этого можно указать отдельный лист для каждого объекта:


salaries1 = pd.DataFrame({'Name': ['L. Messi', 'Cristiano Ronaldo', 'J. Oblak'],
'Salary': [560000, 220000, 125000]})

salaries2 = pd.DataFrame({'Name': ['K. De Bruyne', 'Neymar Jr', 'R. Lewandowski'],
'Salary': [370000, 270000, 240000]})

salaries3 = pd.DataFrame({'Name': ['Alisson', 'M. ter Stegen', 'M. Salah'],
'Salary': [160000, 260000, 250000]})

salary_sheets = {'Group1': salaries1, 'Group2': salaries2, 'Group3': salaries3}
writer = pd.ExcelWriter('./salaries.xlsx', engine='xlsxwriter')

for sheet_name in salary_sheets.keys():
salary_sheets[sheet_name].to_excel(writer, sheet_name=sheet_name, index=False)

writer.save()

Здесь создаются 3 разных DataFrame с разными названиями, которые включают имена сотрудников, а также размер их зарплаты. Каждый объект заполняется соответствующим словарем.

Объединим все три в переменной salary_sheets, где каждый ключ будет названием листа, а значение — объектом DataFrame.

Дальше используем движок xlsxwriter для создания объекта writer. Он и передается функции to_excel().

Перед записью пройдемся по ключам salary_sheets и для каждого ключа запишем содержимое в лист с соответствующим именем. Вот сгенерированный файл:

Чтение и запись файлов Excel (XLSX) в Python

Можно увидеть, что в этом файле Excel есть три листа: Group1, Group2 и Group3. Каждый из этих листов содержит имена сотрудников и их зарплаты в соответствии с данными в трех DataFrame из кода.

Параметр движка в функции to_excel() используется для определения модуля, который задействуется библиотекой Pandas для создания файла Excel. В этом случае использовался xslswriter, который нужен для работы с классом ExcelWriter. Разные движка можно определять в соответствии с их функциями.

В зависимости от установленных в системе модулей Python другими параметрами для движка могут быть openpyxl (для xlsx или xlsm) и xlwt (для xls). Подробности о модуле xlswriter можно найти в официальной документации.

Наконец, в коде была строка writer.save(), которая нужна для сохранения файла на диске.

Чтение файлов Excel с python

По аналогии с записью объектов DataFrame в файл Excel, эти файлы можно и читать, сохраняя данные в объект DataFrame. Для этого достаточно воспользоваться функцией read_excel():


top_players = pd.read_excel('./top_players.xlsx')
top_players.head()

Содержимое финального объекта можно посмотреть с помощью функции head().

Примечание:

Этот способ самый простой, но он и способен прочесть лишь содержимое первого листа.

Посмотрим на вывод функции head():

Name Age Overall Potential Positions Club
0 L. Messi 33 93 93 RW,ST,CF FC Barcelona
1 Cristiano Ronaldo 35 92 92 ST,LW Juventus
2 J. Oblak 27 91 93 GK Atlético Madrid
3 K. De Bruyne 29 91 91 CAM,CM Manchester City
4 Neymar Jr 28 91 91 LW,CAM Paris Saint-Germain

Pandas присваивает метку строки или числовой индекс объекту DataFrame по умолчанию при использовании функции read_excel().

Это поведение можно переписать, передав одну из колонок из файла в качестве параметра index_col:


top_players = pd.read_excel('./top_players.xlsx', index_col='Name')
top_players.head()

Результат будет следующим:

Name Age Overall Potential Positions Club
L. Messi 33 93 93 RW,ST,CF FC Barcelona
Cristiano Ronaldo 35 92 92 ST,LW Juventus
J. Oblak 27 91 93 GK Atlético Madrid
K. De Bruyne 29 91 91 CAM,CM Manchester City
Neymar Jr 28 91 91 LW,CAM Paris Saint-Germain

В этом примере индекс по умолчанию был заменен на колонку «Name» из файла. Однако этот способ стоит использовать только при наличии колонки со значениями, которые могут стать заменой для индексов.

Чтение определенных колонок из файла Excel

Иногда удобно прочитать содержимое файла целиком, но бывают случаи, когда требуется получить доступ к определенному элементу. Например, нужно считать значение элемента и присвоить его полю объекта.

Это делается с помощью функции read_excel() и параметра usecols. Например, можно ограничить функцию, чтобы она читала только определенные колонки. Добавим параметр, чтобы он читал колонки, которые соответствуют значениям «Name», «Overall» и «Potential».

Для этого укажем числовой индекс каждой колонки:


cols = [0, 2, 3]

top_players = pd.read_excel('./top_players.xlsx', usecols=cols)
top_players.head()

Вот что выдаст этот код:

Name Overall Potential
0 L. Messi 93 93
1 Cristiano Ronaldo 92 92
2 J. Oblak 91 93
3 K. De Bruyne 91 91
4 Neymar Jr 91 91

Таким образом возвращаются лишь колонки из списка cols.

В DataFrame много встроенных возможностей. Легко изменять, добавлять и агрегировать данные. Даже можно строить сводные таблицы. И все это сохраняется в Excel одной строкой кода.

Рекомендую изучить DataFrame в моих уроках по Pandas.

Выводы

В этом материале были рассмотрены функции read_excel() и to_excel() из библиотеки Pandas. С их помощью можно считывать данные из файлов Excel и выполнять запись в них. С помощью различных параметров есть возможность менять поведение функций, создавая нужные файлы, не просто копируя содержимое из объекта DataFrame.

Improve Article

Save Article

Like Article

  • Read
  • Discuss
  • Improve Article

    Save Article

    Like Article

    In this article, we will see how to export different DataFrames to different excel sheets using python.

    Pandas provide a function called xlsxwriter for this purpose. ExcelWriter() is a class that allows you to write DataFrame objects into Microsoft Excel sheets. Text, numbers, strings, and formulas can all be written using ExcelWriter(). It can also be used on several worksheets.

    Syntax:

    pandas.ExcelWriter(path, date_format=None, mode=’w’)

    Parameter:

    • path: (str) Path to xls or xlsx or ods file.
    • date_format: Format string for dates written into Excel files (e.g. ‘YYYY-MM-DD’).  str, default None
    • mode: {‘w’, ‘a’}, default ‘w’. File mode to use (write or append). Append does not work with fsspec URLs.

    The to_excel() method is used to export the DataFrame to the excel file. To write a single object to the excel file, we have to specify the target file name. If we want to write to multiple sheets, we need to create an ExcelWriter object with target filename and also need to specify the sheet in the file in which we have to write. The multiple sheets can also be written by specifying the unique sheet_name. It is necessary to save the changes for all the data written to the file.

    Syntax:

    DataFrame.to_excel(excel_writer, sheet_name=’Sheet1′,index=True)

    Parameter:

    • excel_writer: path-like, file-like, or ExcelWriter object (new or existing)
    • sheet_name: (str, default ‘Sheet1’). Name of the sheet which will contain DataFrame.
    • index: (bool, default True). Write row names (index).

    Create some sample data frames using pandas.DataFrame function. Now, create a writer variable and specify the path in which you wish to store the excel file and the file name, inside the pandas excelwriter function.

    Example: Write Pandas dataframe to multiple excel sheets

    Python3

    import pandas as pd

    data_frame1 = pd.DataFrame({'Fruits': ['Appple', 'Banana', 'Mango',

                                           'Dragon Fruit', 'Musk melon', 'grapes'],

                                'Sales in kg': [20, 30, 15, 10, 50, 40]})

    data_frame2 = pd.DataFrame({'Vegetables': ['tomato', 'Onion', 'ladies finger',

                                               'beans', 'bedroot', 'carrot'],

                                'Sales in kg': [200, 310, 115, 110, 55, 45]})

    data_frame3 = pd.DataFrame({'Baked Items': ['Cakes', 'biscuits', 'muffins',

                                                'Rusk', 'puffs', 'cupcakes'],

                                'Sales in kg': [120, 130, 159, 310, 150, 140]})

    print(data_frame1)

    print(data_frame2)

    print(data_frame3)

    with pd.ExcelWriter("path to filefilename.xlsx") as writer:

        data_frame1.to_excel(writer, sheet_name="Fruits", index=False)

        data_frame2.to_excel(writer, sheet_name="Vegetables", index=False)

        data_frame3.to_excel(writer, sheet_name="Baked Items", index=False)

    Output:

    The output showing the excel file with different sheets got saved in the specified location.

    Example 2: Another method to store the dataframe in an existing excel file using excelwriter is shown below,

    Create dataframe(s) and Append them to the existing excel file shown above using mode= ‘a’ (meaning append) in the excelwriter function. Using mode ‘a’ will add the new sheet as the last sheet in the existing excel file.

    Python3

    import pandas as pd

    data_frame1 = pd.DataFrame({'Fruits': ['Appple', 'Banana', 'Mango',

                                           'Dragon Fruit', 'Musk melon', 'grapes'],

                                'Sales in kg': [20, 30, 15, 10, 50, 40]})

    data_frame2 = pd.DataFrame({'Vegetables': ['tomato', 'Onion', 'ladies finger',

                                               'beans', 'bedroot', 'carrot'],

                                'Sales in kg': [200, 310, 115, 110, 55, 45]})

    data_frame3 = pd.DataFrame({'Baked Items': ['Cakes', 'biscuits', 'muffins',

                                                'Rusk', 'puffs', 'cupcakes'],

                                'Sales in kg': [120, 130, 159, 310, 150, 140]})

    data_frame4 = pd.DataFrame({'Cool drinks': ['Pepsi', 'Coca-cola', 'Fanta',

                                                'Miranda', '7up', 'Sprite'],

                                'Sales in count': [1209, 1230, 1359, 3310, 2150, 1402]})

    with pd.ExcelWriter("path_to_file.xlsx", mode="a", engine="openpyxl") as writer:

        data_frame4.to_excel(writer, sheet_name="Cool drinks")

    Output:

    Writing Large Pandas DataFrame to excel file in a zipped format.

    If the output dataframe is large, you can also store the excel file as a zipped file. Let’s save the dataframe which we created for this example. as excel and store it as a zip file. The ZIP file format is a common archive and compression standard.

    Syntax:

    ZipFile(file, mode=’r’)

    Parameter:

    • file: the file can be a path to a file (a string), a file-like object, or a path-like object.
    • mode: The mode parameter should be ‘r’ to read an existing file, ‘w’ to truncate and write a new file, ‘a’ to append to an existing file, or ‘x’ to exclusively create and write a new file.

    Import the zipfile package and create sample dataframes. Now, specify the path in which the zip file has to be stored, This creates a zip file in the specified path. Create a file name in which the excel file has to be stored. Use to_excel() function and specify the sheet name and index to store the dataframe in multiple sheets

    Example: Write large dataframes in ZIP format

    Python3

    import zipfile

    import pandas as pd

    data_frame1 = pd.DataFrame({'Fruits': ['Appple', 'Banana', 'Mango',

                                           'Dragon Fruit', 'Musk melon', 'grapes'],

                                'Sales in kg': [20, 30, 15, 10, 50, 40]})

    data_frame2 = pd.DataFrame({'Vegetables': ['tomato', 'Onion', 'ladies finger',

                                               'beans', 'bedroot', 'carrot'],

                                'Sales in kg': [200, 310, 115, 110, 55, 45]})

    data_frame3 = pd.DataFrame({'Baked Items': ['Cakes', 'biscuits', 'muffins',

                                                'Rusk', 'puffs', 'cupcakes'],

                                'Sales in kg': [120, 130, 159, 310, 150, 140]})

    data_frame4 = pd.DataFrame({'Cool drinks': ['Pepsi', 'Coca-cola', 'Fanta',

                                                'Miranda', '7up', 'Sprite'],

                                'Sales in count': [1209, 1230, 1359, 3310, 2150, 1402]})

    with zipfile.ZipFile("path_to_file.zip", "w") as zf:

        with zf.open("filename.xlsx", "w") as buffer:

            with pd.ExcelWriter(buffer) as writer:

                data_frame1.to_excel(writer, sheet_name="Fruits", index=False)

                data_frame2.to_excel(writer, sheet_name="Vegetables", index=False)

                data_frame3.to_excel(writer, sheet_name="Baked Items", index=False)

                data_frame4.to_excel(writer, sheet_name="Cool Drinks", index=False)

     Output:

    Sample output of zipped excel file

    Like Article

    Save Article

    Понравилась статья? Поделить с друзьями:

    А вот еще интересные статьи:

  • Как записать данные в excel python openpyxl
  • Как записать данные в excel php
  • Как записать график функции в excel
  • Как записать голос в word
  • Как записать выражения с помощью функции excel

  • 0 0 голоса
    Рейтинг статьи
    Подписаться
    Уведомить о
    guest

    0 комментариев
    Старые
    Новые Популярные
    Межтекстовые Отзывы
    Посмотреть все комментарии