¿Cómo evitar escribir una fila vacía al guardar un DataFrame con múltiples encabezados en un archivo de Excel?
Me gustaría guardar un DataFrame con múltiples encabezados en un archivo de Excel. A continuación se muestra el código de muestra:
import pandas as pd
import numpy as np
header = pd.MultiIndex.from_product([['ubicación1','ubicación2'],
['S1','S2','S3']],
names=['loc','S'])
df = pd.DataFrame(np.random.randn(5, 6),
index=['a','b','c','d','e'],
columns=header)
df.to_excel('resultado.xlsx')
Hay dos problemas en el archivo de Excel, como se puede ver a continuación:
Problema 1:
Hay una fila vacía debajo de los encabezados. Por favor, hágame saber cómo evitar que Pandas escriba / inserte una fila vacía en el archivo de Excel.
Problema 2:
Quiero guardar el DataFrame sin índice. Sin embargo, cuando establezco index=False
, obtengo el siguiente error:
df.to_excel('resultado.xlsx', index=False)
Error:
NotImplementedError: Todavía no se ha implementado escribir en Excel con columnas de MultiIndex y sin índice ('index'=False).
davy.ai
Para evitar la fila vacía debajo de los encabezados, necesitas establecer
index=False
y el parámetrostartrow
ento_excel
como1
. Esto comenzará a escribir el DataFrame desde la segunda fila y evitará la fila vacía. Aquí está el código actualizado:Para guardar el DataFrame sin índice, puedes establecer
index=False
como se muestra arriba. Sin embargo, actualmente esto no funciona con columnas de MultiIndex. Una solución alternativa es restablecer las columnas antes de guardar el DataFrame en Excel:Esto guardará el DataFrame sin índice y sin la fila vacía debajo de los encabezados.