2015-08-04 3 views
1

У меня есть сценарий питона, который загружает файл XLSX и анализирует содержимое, однако он начал неудачу на линииPython xlrd Исключение: Неизвестный типа ячейки «п +»

workbook = xlrd.open_workbook(fname) 

с «Exception ошибки: Неизвестная клетка типа «п +» в rowx = 1 colx = 4"

Может кто-нибудь мне точку в правильном направлении относительно того, что п + клеток типа или как пройти мимо этой ошибки

в качестве альтернативы, если кто-нибудь знает python, который будет читать xlsx-файл без отключения по этой ячейке v ALUE.

Приветствия

- EDIT -

После разархивирования файла я нашел это в XML рабочего листа

<c r="E2" t="n+"><v>18</v></c> 
+0

Возможно, вы также можете предоставить XSLX, который вы передаете в свою функцию open_workbook() или, по крайней мере, часть, указанную в сообщении об исключении? Мне кажется, что ошибка исходит оттуда. Существует аналогичная проблема, но с датами ISO, указанными в https://github.com/python-excel/xlrd/issues/86 – rbaleksandar

+0

Я не могу предоставить файл и не контролировать его содержимое или форматирование, я добавил дополнительная информация на вопрос – Luke

+0

Что произойдет, если вы откроете документ * В Excel *? Есть что-то особенное в ячейке E2? – SiHa

ответ

1

У меня есть решение, хотя это не идеал .. .

Я изменил код xlrd, чтобы принять t = "n +" и обрабатывать его как t = "n", который является номером, который немного взломан, но я не могу найти что-либо в Интернете относительно t = "n2 "

+1

Я думаю, что это, по сути, связано с [bug] (https://github.com/python-excel/xlrd/issues/86), связанным в комментариях выше. Вероятно, файл, написанный (плохо) некоторым не-Excel-приложением в Strict XML Mode. Тип '' n + "' не существует в формате файла Open Open XML, как определено [здесь] (http://www.ecma-international.org/publications/standards/Ecma-376.htm). Поэтому ваше решение, вероятно, самое лучшее, если у вас нет контроля над созданием исходного файла. – SiHa

+0

Спасибо, полезная ссылка – Luke

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

  • Нет связанных вопросов^_^