Хороший день! < /p>
У меня есть старый файл файла xls (Microsoft Excel 97-2003) < /p>
Этот файл открывается в приложение Excel без каких -либо проблем. Но когда я пытаюсь читать с помощью Python xlrd Engine.it выпускает приведенную ниже ошибку, < /p>
"
xlrd.biffh.xlrderror: неподдерживаемый формат или поврежденный файл: ожидаемая запись BOF; Найдено b '\ x03 | \ x0b \ x0e \ xfb \ x9a \ x00 \ x00'
"< /p>
код: < /p>
df = pd.read_excel('my_file.xls', engine='xlrd')
< /code>
Когда я пытаюсь отладить ошибку, я обнаружил, что обычно файл XLS будет следовать за обычной шестнадцатеричной конвенцией (d0 cf 11 e0 a1 b1 1a e1) в BOF (начало файла). Но в моем файле байты (03 7c 0b 0e fb 9a 00 00 21)
Я не знаю основной причины этого форматирования, мне нужно преобразовать/прочитать этот файл программно. .import win32com.client as win32
fname = "my_file.xls"
excel = win32.gencache.EnsureDispatch('Excel.Application')
wb = excel.Workbooks.Open(fname)
wb.SaveAs(fname+"x", FileFormat = 51)
wb.Close()
excel.Application.Quit()
< /code>
Но когда я пытаюсь сделать то же самое в Linux, он не работает, так как Win32 API не будет работать в Linux, я думаю. < /p>
Пожалуйста, пусть Я знаю, есть ли какие -либо решения для обработки этого в Linux
(** Примечание: я не думаю, что my_file - это файл XML, так как я также пытался с BeautifulSoup)
Подробнее здесь: https://stackoverflow.com/questions/794 ... read-issue