Saltar al contenido

Leer archivo XLSB en Pandas Python

Después de buscar en diversos repositorios y páginas webs al concluir dimos con la resolución que te compartimos aquí.

Solución:

Con el 1.0.0 liberación de pandas – January 29, 2020se agregó soporte para archivos binarios de Excel.

import pandas as pd
df = pd.read_excel('path_to_file.xlsb', engine='pyxlsb')

Notas:

  • Necesitarás actualizar pandas – pip install pandas --upgrade
  • Necesitarás instalar pyxlsbpip install pyxlsb

Hola, en realidad hay una manera. Simplemente use la biblioteca pyxlsb.

import pandas as pd
from pyxlsb import open_workbook as open_xlsb

df = []

with open_xlsb('some.xlsb') as wb:
    with wb.get_sheet(1) as sheet:
        for row in sheet.rows():
            df.append([item.v for item in row])

df = pd.DataFrame(df[1:], columns=df[0])

ACTUALIZACIÓN: a partir de la versión 1.0 de pandas, read_excel() ahora puede leer archivos binarios de Excel (.xlsb) pasando engine=’pyxlsb’

Fuente: https://pandas.pydata.org/pandas-docs/version/1.0.0/whatsnew/v1.0.0.html

De hecho, Pyxlsb es una opción para leer archivos xlsb, sin embargo, es bastante limitada.

Sugiero usar el paquete xlwings que permite leer y escribir archivos xlsb sin perder el formato de hoja, fórmulas, etc. en el archivo xlsb. Existe una amplia documentación disponible.

import pandas as pd
import xlwings as xw

app = xw.App()
book = xw.Book('file.xlsb')
sheet = book.sheets('sheet_name')
df = sheet.range('A1').options(pd.DataFrame, expand='table').value
book.close()
app.kill()

‘A1’ en este caso es la posición inicial de la tabla de Excel. Para escribir en el archivo xlsb, simplemente escriba:

sheet.range('A1').value = df

Si sostienes algún reparo y capacidad de aumentar nuestro tutorial eres capaz de ejecutar una crítica y con mucho placer lo ojearemos.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *