Почему ошибки Python xlrd при открытии .xlsm вместо .xls - PullRequest
1 голос
/ 11 марта 2019

Программа на Python прекрасно открывает .xls, но не открывает .xlsm и сразу завершается ошибкой.

xlrd.open_workbook("Some filename.xlsm")  

Ошибка: возникла исключительная ситуация: у объекта 'bytes' AttributeError нет атрибута 'seek'

Любая помощь будет принята с благодарностью ...

1 Ответ

0 голосов
/ 12 марта 2019

Для тех, кто сталкивается с этим. Решение состоит в том, чтобы прочитать файл через двоичную переменную в переменную, чтобы избежать библиотеки open_workbook для загрузки файла ... это как-то связано с файлом с кодировкой utf-16-le, я думаю ... в любом случае, вот фрагмент того, что должно произойти.

with open(FilePath, 'rb') as tmp_file:
   tmp_excel=tmp_file.read()
tmp_file.close

objExcel=xlrd.open_workbook(file_contents=tmp_excel)
...