Función Pandas DataFrame DataFrame.to_excel()
-
Sintaxis de
pandas.DataFrame.to_excel() -
Códigos de ejemplo: Pandas
DataFrame.to_excel() -
Códigos de ejemplo: Pandas
DataFrame.to_excel()ConExcelWriter -
Códigos de ejemplo: Pandas
DataFrame.to_excelpara añadir a un archivo de Excel existente -
Códigos de ejemplo: Pandas
DataFrame.to_excelpara escribir múltiples hojas -
Códigos de ejemplo: Pandas
DataFrame.to_excelcon el parámetroheader -
Códigos de ejemplo: Pandas
DataFrame.to_excelconindex = False -
Códigos de ejemplo: Pandas
DataFrame.to_excelCon el parámetroindex_label -
Códigos de ejemplo: Pandas
DataFrame.to_excelcon el parámetrofloat_format -
Códigos de ejemplo: Pandas
DataFrame.to_excelcon el parámetrofreeze_panes
La función Python Pandas DataFrame.to_excel(values) vuelca los datos del dataframe a un archivo de Excel, en una sola hoja o en varias hojas.
Sintaxis de pandas.DataFrame.to_excel()
DataFrame.isin(
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,
encoding=None,
inf_rep="inf",
verbose=True,
freeze_panes=None,
)
Parámetros
excel_writer |
La ruta del archivo de Excel o el existente pandas.ExcelWriter |
sheet_name |
Nombre de la hoja a la que el DataFrame se vuelca |
na_rep |
Representación de valores nulos. |
float_format |
Formato de los números float |
header |
Especifique el encabezado del archivo de Excel generado. |
index |
Si es True, escribe el Dataframe index en el Excel. |
index_label |
Etiqueta de la columna para la columna del índice. |
startrow |
La fila de la celda superior izquierda para escribir los datos en el Excel. Por defecto es 0 |
startcol |
La columna de la celda superior izquierda para escribir los datos en el Excel. Por defecto es 0 |
engine |
Parámetro opcional para especificar el motor a utilizar. openyxl o xlswriter |
merge_cells |
Fusionar el MultiIndex con las células fusionadas |
encoding |
Codificación del archivo de salida de Excel. Sólo es necesario si se usa el escritor xlwt, otros escritores soportan Unicode de forma nativa. |
inf_rep |
Representación del infinito. Por defecto es inf |
verbose |
Si True, los registros de errores consisten en más información |
freeze_panes |
Especifica la parte inferior y la parte derecha del panel congelado. Es de base única, pero no de base cero. |
Retorna
Nadie.
Códigos de ejemplo: Pandas DataFrame.to_excel()
import pandas as pd
dataframe= pd.DataFrame({'Attendance': [60, 100, 80, 78, 95],
'Name': ['Olivia', 'John', 'Laura', 'Ben', 'Kevin'],
'Marks': [90, 75, 82, 64, 45]})
dataframe.to_excel('test.xlsx')
La llamada DataFrame es
Attendance Name Marks
0 60 Olivia 90
1 100 John 75
2 80 Laura 82
3 78 Ben 64
4 95 Kevin 45
Se crea test.xlsx.

Códigos de ejemplo: Pandas DataFrame.to_excel() Con ExcelWriter
El ejemplo anterior utiliza la ruta del archivo como el excel_writer, y también podríamos utilizar pandas.Excelwriter para especificar el archivo excel que el dataframe vuelca.
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": [60, 100, 80, 78, 95],
"Name": ["Olivia", "John", "Laura", "Ben", "Kevin"],
"Marks": [90, 75, 82, 64, 45],
}
)
with pd.ExcelWriter("test.xlsx") as writer:
dataframe.to_excel(writer)
Códigos de ejemplo: Pandas DataFrame.to_excel para añadir a un archivo de Excel existente
import pandas as pd
import openpyxl
dataframe = pd.DataFrame(
{
"Attendance": [60, 100, 80, 78, 95],
"Name": ["Olivia", "John", "Laura", "Ben", "Kevin"],
"Marks": [90, 75, 82, 64, 45],
}
)
with pd.ExcelWriter("test.xlsx", mode="a", engine="openpyxl") as writer:
dataframe.to_excel(writer, sheet_name="new")
Deberíamos especificar el motor como openpyxl pero no como xlswriter por defecto; de lo contrario, obtendremos el error de que xlswriter no soporta el modo append.
ValueError: Append mode is not supported with xlsxwriter!
openpyxl debe ser instalado e importado porque no es parte de pandas.
pip install openpyxl

Códigos de ejemplo: Pandas DataFrame.to_excel para escribir múltiples hojas
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": [60, 100, 80, 78, 95],
"Name": ["Olivia", "John", "Laura", "Ben", "Kevin"],
"Marks": [90, 75, 82, 64, 45],
}
)
with pd.ExcelWriter("test.xlsx") as writer:
dataframe.to_excel(writer, sheet_name="Sheet1")
dataframe.to_excel(writer, sheet_name="Sheet2")
Vuelca el objeto del DataFrame tanto a la Sheet1 como a la Sheet2.
También puede escribir diferentes datos en múltiples hojas si especifica el parámetro columns.
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": [60, 100, 80, 78, 95],
"Name": ["Olivia", "John", "Laura", "Ben", "Kevin"],
"Marks": [90, 75, 82, 64, 45],
}
)
with pd.ExcelWriter("test.xlsx") as writer:
dataframe.to_excel(writer, columns=["Name", "Attendance"], sheet_name="Sheet1")
dataframe.to_excel(writer, columns=["Name", "Marks"], sheet_name="Sheet2")
Códigos de ejemplo: Pandas DataFrame.to_excel con el parámetro header
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": [60, 100, 80, 78, 95],
"Name": ["Olivia", "John", "Laura", "Ben", "Kevin"],
"Marks": [90, 75, 82, 64, 45],
}
)
with pd.ExcelWriter("test.xlsx") as writer:
dataframe.to_excel(writer, header=["Student", "First Name", "Score"])
El encabezado predeterminado en el archivo de Excel creado es el mismo que el de los nombres de las columnas de los cuadros de datos. El parámetro header especifica el nuevo encabezado para reemplazar el predeterminado.

Códigos de ejemplo: Pandas DataFrame.to_excel con index = False
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": [60, 100, 80, 78, 95],
"Name": ["Olivia", "John", "Laura", "Ben", "Kevin"],
"Marks": [90, 75, 82, 64, 45],
}
)
with pd.ExcelWriter("test.xlsx") as writer:
dataframe.to_excel(writer, index=False)
index=False especifica que DataFrame.to_excel() genera un archivo de Excel sin fila de encabezamiento.
Códigos de ejemplo: Pandas DataFrame.to_excel Con el parámetro index_label
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": [60, 100, 80, 78, 95],
"Name": ["Olivia", "John", "Laura", "Ben", "Kevin"],
"Marks": [90, 75, 82, 64, 45],
}
)
with pd.ExcelWriter("test.xlsx") as writer:
dataframe.to_excel(writer, index_label="id")
index_label='id' establece que el nombre de la columna del índice es id.

Códigos de ejemplo: Pandas DataFrame.to_excel con el parámetro float_format
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": [60, 100, 80, 78, 95],
"Name": ["Olivia", "John", "Laura", "Ben", "Kevin"],
"Marks": [90, 75, 82, 64, 45],
}
)
with pd.ExcelWriter("test.xlsx") as writer:
dataframe.to_excel(writer, float_format="%.1f")
float_format="%.1f" especifica que el número flotante tiene dos dígitos float.
Códigos de ejemplo: Pandas DataFrame.to_excel con el parámetro freeze_panes
import pandas as pd
dataframe = pd.DataFrame(
{
"Attendance": [60, 100, 80, 78, 95],
"Name": ["Olivia", "John", "Laura", "Ben", "Kevin"],
"Marks": [90, 75, 82, 64, 45],
}
)
with pd.ExcelWriter("test.xlsx") as writer:
dataframe.to_excel(writer, freeze_panes=(1, 1))
freeze_panes=(1,1) especifica que el archivo de Excel tiene la fila superior congelada y la primera columna congelada.

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.
LinkedIn Facebook