open example python excel xlrd

example - Python xlrd formato no compatible, o archivo dañado.



xlrd python windows installer (11)

Mi código:

import xlrd wb = xlrd.open_workbook("Z://Data//Locates//3.8 locates.xls") sh = wb.sheet_by_index(0) print sh.cell(0,0).value

El error:

Traceback (most recent call last): File "Z:/Wilson/tradedStockStatus.py", line 18, in <module> wb = xlrd.open_workbook("Z://Data//Locates//3.8 locates.xls") File "C:/Python27/lib/site-packages/xlrd/__init__.py", line 429, in open_workbook biff_version = bk.getbof(XL_WORKBOOK_GLOBALS) File "C:/Python27/lib/site-packages/xlrd/__init__.py", line 1545, in getbof bof_error(''Expected BOF record; found %r'' % self.mem[savpos:savpos+8]) File "C:/Python27/lib/site-packages/xlrd/__init__.py", line 1539, in bof_error raise XLRDError(''Unsupported format, or corrupt file: '' + msg) xlrd.biffh.XLRDError: Unsupported format, or corrupt file: Expected BOF record; found ''<table r''"

El archivo no parece estar dañado o en un formato diferente. Cualquier cosa para ayudar a encontrar la fuente del problema sería genial.


Acabo de descargar xlrd, creé un documento de Excel (Excel 2007) para realizar las pruebas y obtuve el mismo error (el mensaje dice ''encontrado PK / x03 / x04 / x14 / x00 / x06 / x00''). La extensión es un xlsx. Intenté guardarlo en un formato .xls anterior y el error desaparece ...


En mi caso, después de abrir el archivo con un editor de texto como sugirió @ john-machin, me di cuenta de que el archivo no está cifrado, ya que se supone que debe hacerlo un archivo de Excel, pero está en formato CSV y se guardó como un archivo de Excel. Lo que hice fue renombrar el archivo y su extensión, y en read_csv lugar read_csv función read_csv :

os.rename(''sample_file.xls'', ''sample_file.csv'') csv = pd.read_csv("sample_file.csv", error_bad_lines=False)


Encontré un problema similar al descargar el archivo .xls y lo abrí usando la biblioteca xlrd. Luego probé la solución de convertir .xls en .xlsx como se detalla aquí: cómo convertir xls a xlsx

Funciona como un hechizo y, en lugar de abrir .xls, estoy trabajando con el archivo .xlsx ahora utilizando la biblioteca openpyxl.

Espero que te ayude a resolver tu problema.


Esto le sucederá a algunos archivos mientras se abre también en Excel.


Intenta abrirlo con pandas:

import pandas as pd data = pd.read_html(''filename.xls'')

O pruebe con cualquier otro analizador html de python.

Eso no es un archivo de Excel adecuado, pero un html legible con excel.


Me encuentro con el mismo problema.

se encuentra en el propio archivo .xls, parece un archivo de Excel, pero no lo es. (vea si hay una ventana emergente cuando abre los archivos .xls de Excel)

sjmachin comentó el 19 de enero de 2013 de https://github.com/python-excel/xlrd/issues/26 ayuda.


También encontré este problema. Abrí este archivo por Excel y lo guardé en otros formatos como Excel 97-2003 y finalmente resolví este problema.


Tu dices:

El archivo no parece estar dañado o en un formato diferente.

Sin embargo, como dice el mensaje de error, los primeros 8 bytes del archivo son ''<table r'' ... que definitivamente no es el formato Excel .xls . Ábralo con un editor de texto (p. Ej., Bloc de notas) que no notará la extensión (incorrecta) .xls y .xls usted mismo.


Tuve el mismo problema. Esos archivos antiguos están formateados como un archivo delimitado por tabulaciones. He podido abrir mis archivos de problemas con read_table ; es decir, df = pd.read_table(''trouble_maker.xls'') .


Tuve un problema similar y estaba relacionado con la versión. En una comprobación de terminal de python:

>> import xlrd >> xlrd.__VERSION__

Si tiene ''0.9.0'' puede abrir casi todos los archivos. Si tiene ''0.6.0'' que fue lo que encontré en Ubuntu, puede tener problemas con los archivos de Excel más recientes. Puede descargar la última versión de xlrd utilizando el estándar Distutils.


no hay nada malo con su archivo xlrd aún no admite archivos xlsx (excel 2007+), aunque se supone que ha soportado esto por algún tiempo.

Simplistix Github

Hace 2 días se comprometió una versión pre-alfa para su git que integra el soporte de xlsx. Otros foros sugieren que use un analizador DOM para los archivos xlsx, ya que el tipo de archivo xlsx es solo un archivo zip que contiene XML. No he intentado esto. hay otro paquete con una funcionalidad similar a xlrd y esto se llama openpyxl que puede obtener de easy_install o pip. No he intentado esto tampoco, sin embargo, su API se supone que es similar a xlrd.