Ошибки python xlrd, связанные с изменением расширения файла
Я пытаюсь организовать очень большое количество .DTA
файлы с использованием xlrd
библиотека.
Первое, что я обнаружил, было то, что файлы.DTA можно было экспортировать в файлы Excel, просто изменив расширение.xls и открыв их в Excel. При открытии выдает предупреждение о возможном повреждении файла, но обычно открывается иначе.
the file you are trying to open is in a different format than specified by the file extension. Verify that the file is not corrupted and is from a trusted source before opening the file. Do you want to open the file now?
Однако, когда я пытаюсь открыть файл в python, все, что я получаю, - это ошибка без полезной информации, которая, я уверен, вызвана проблемой расширения файла.
File "C:\Python27\lib\site-packages\xlrd\__init__.py", line 1323, in getbof
raise XLRDError('Expected BOF record; found 0x%04x' % opcode)
XLRDError: Expected BOF record; found 0x5845
Я попробовал свой код, вырезав и вставив данные в новый файл Excel и присвоив ему то же имя, и это сработало, так что я почти уверен, что это проблема, но у меня слишком много файлов, чтобы я мог сделать это для каждого один индивидуально.
Есть ли лучший способ решить эту проблему? Подавление ошибки или фактическое изменение типа файла, а не только его расширение как-то?
1 ответ
Я думаю, что в начале файла есть метка порядка байтов, которая не наблюдается, но существует. Этот ответ описывает, как его удалить < convert utf-16 -> utf-8 И удалить BOM>.