2012-04-24 3 views
1

Я работаю над обработкой excel с использованием python.
Я использую модуль xlrd (версия 0.6.1) для того же самого.ошибка обработки python excel

Я Абэ, чтобы принести большую часть файлов первенствовать, но для некоторых файлов Excel он дает мне ошибку, как:

XLRDError: Expected BOF record; found 0x213c 

Может кто-нибудь, дайте мне знать о том, как решить эту проблему?
заранее.

+0

Ошибка в этой ошибке указывает на то, что эти файлы .xls не в формате «2003» в формате Excel 2003, а в формате xml (более новый формат файла excel). Вы убедитесь, что вы открыли его в блокноте. Вы уверены, что используете последнюю версию XLRD? – ChristopheD

+0

Я не использую последние модули xlrd, так как наш проект работает с версией 0.6.1 – sam

ответ

1

То, что вы наиболее вероятно «XML Spreadsheet 2003 (* .xml)» файл ... "<!" ака "\x3c\x21" (что XML потоки начинаются с) интерпретируется как прямой порядок байтов числа 0x213c.

Блокнот: Первые две строки:

<?xml version="1.0"?> 
<?mso-application progid="Excel.Sheet"?> 

Вы также можете проверить это, открыв файл с Excel, а затем нажмите на Save As и посмотреть на файл типа, который отображается. Пока вы там, сохраните его как файл XLS, чтобы ваш xlrd мог его прочитать.

Примечание: этот XML-файл НЕ является файлом Excel 2007+ XLSX. XLSX фактически является файлом ZIP (начинается с "PK", а не "<?"), содержащего кучу XML-потоков.

Смежные вопросы